Purifying and Simplifying: Advanced TEI Customization
|Title||Purifying and Simplifying: Advanced TEI Customization
Encoded by Vanessa Hannesschläger
Encoded by Daniel Schopper
The Creative Commons Attribution 4.0 International (CC BY 4.0) License applies to this text.
One of the advantages of the TEI framework is that it is able to be used flexibly and can be modified. It can not only be constrained to be a subset of the existing TEI elements, but also extended to provide markup that the TEI has not (yet) included. The constraining of the TEI scheme happens on multiple levels: the inclusion or exclusion of modules, classes, and particular elements or attributes, but also the values of those attributes and the content models of elements. Unlike most other standards, the TEI framework is also able to be extended, to enable the use of other standards embedded in the TEI or new project specific markup. With the version 3.0.0 release of the TEI Guidelines, there have been two major changes to the underlying TEI customization language, TEI ODD. The first of these are the introduction of "Pure ODD" which answers the long-standing Durand Conundrum by formulating the description of an element’s content not in the RelaxNG schema language but instead purely in TEI ODD. While users may still continue to express their content models in RelaxNG, it is expected that new tools and new customizations will begin to use this so-called "Pure ODD" notation. The second major change has arisen from the TEI Simple project and is the ability to document one or more intended output processing models, in an implementation-agnostic manner, inside your TEI ODD customization. This documentation can then be read by a processing engine to generate the necessary processing workflows. This paper will report on these new aspects of the TEI ODD language while providing a brief refresher for those less familiar with TEI customization.