view_list
book code pageview zoom_in zoom_out import_contacts
TEI Publisher

TEI Publisher

Introduction

The TEI Processing Model (PM) extends the TEI ODD specification format with a processing model for documents. That way intended processing for all elements can be expressed within the TEI vocubulary itself. It aims at the XML-savvy editor who is familiar with TEI but is not necessarily a developer. The editor knows the logical structure of the text and maps it to a small set of abstract transformation functions, called "behaviours". Predefined behaviours are, for example, "paragraph", "heading" or "note".

Basic styling features can be set directly within the ODD using CSS. The processing model is media-agnostic: rendition styles are transparently translated into the different output media types like HTML, XSL-FO, LaTeX, or ePUB.

At the same time, the processing model implements a clean separation of concerns to improve the workflow between editors, designers and developers. The editor defines how elements are mapped to behavior functions and specifies basic styling rules, the designer controls the overall presentation of the material, and the developer concentrates on the general application framework and—if necessary—supports the editor by providing custom behavior functions as extension modules.

A word of warning though: while the processing model was developed as part of the TEI Simple initiative, it is not necessarily trivial to comprehend nor "simple" regarding the knowledge and skill it requires. The goal rather was to improve workflows and interoperability by providing a minimal abstraction for the processing rules applied to a document. Using the processing model definitely simplifies the life of the developer, who often has to write a few thousand lines of code just to render a particular TEI document into HTML, only to repeat the same tedious process for PDF output. Last but not least the processing model empowers the scholary editor to create high-quality prototype websites from a given data set without even relying on a developer.