A TEI Customization for Writing TEI Customizations - Syd Bauman (OpenEdition, 2019)
A schema, in general, is intended to be used to check a document for errors before those errors cause problems in processing. However, schemas can also help us write our documents. The TEI ODD language (and the more modern version thereof, Pure ODD), in particular, can be used for two related but distinctly different purposes: 1) to create a markup language, including documentation and schemas; and 2) to customize a markup language that was already written in ODD. There are several examples of (1), including the TEI Guidelines, the Music Encoding Initiative, the ISO Feature Structure encoding system, and the W3C Internationalization Tag Set. And there are several well known examples of (2), including TEI Lite, TEI Tite, TEI Simple Print, Comic Book Markup Language, Digital Humanities Quarterly, TEI-in-Libraries, and the markup language for this journal. Of all these various uses of the TEI ODD language, the most common (by far) is to create a customized TEI for use in a particular project. This is because the TEI Guidelines are not meant to be used out of the box—every TEI project is expected to customize the TEI. For example, in raw (i.e., uncustomized) TEI, the @type attribute of <stage> has a robust set of nine suggested values: "business", "delivery", "entrance", "exit", "location", "mixed", "mixed", "novelistic", and "setting". But a project may very well wish to expand this list (e.g., by adding "onStage", "prop", "remains") and require that encoders use a value from this expanded list. This sort of molding of the TEI to local purposes is done by creating a TEI customization using the TEI ODD language. In this paper I will present a TEI ODD customization of the TEI language that is intended to help a user write a TEI ODD customization of the TEI language. It is not intended to check a TEI ODD customization document for errors, and in fact will likely flag things as “errors” that an ODD processor would find perfectly acceptable. But it does allow a user to more quickly, easily, and accurately write a TEI customization ODD using an XML editor.