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.
Starting with TEI Publisher 3.0, the processing model can also be used to transform non-TEI documents! For example, this documentation is written in docbook.
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.