From TEIWiki

Revision as of 13:51, 20 August 2018 by Kshawkin (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

ODD stands for "One Document Does it all". It is a TEI XML-conformant specification format that allows one to customize TEI P5 in a literate programming fashion. It uses elements from the new Documentation Elements module and is designed for processing in a pipeline as in this diagram.



The TEI Guidelines, its DTD, and its schema fragments, are all produced from a single XML resource containing:

  1. Descriptive prose (lots of it)
  2. Examples of usage (plenty)
  3. Formal declarations for components of the TEI Abstract Model:
    1. elements and attributes
    2. modules
    3. classes and macros

We call this resource an ODD (One Document Does it all), although the master source is instantiated as a gazillion XML mini-documents.

A system of XSLT stylesheets called Roma has been created for the purpose of easy manipulation of ODD files.


The TEI scheme can only be used by customizing it. Customizations are also expressed in the ODD language. For example:

<schemaSpec ident="myTEIlite">
<desc>This is TEI Lite with simplified heads</desc>
  <moduleRef key="tei"/>
  <moduleRef key="textstructure"/>
  <moduleRef key="linking"/>
  <moduleRef key="core"/>
  <moduleRef key="header"/>
  <elementSpec ident="head" mode="change">

produces a schema a bit like TEI Lite, with a slight change : the element <head> now can contain only text nodes.

Uses besides the TEI Guidelines and various customizations

  • Internationalization Tag Set (ITS)
  • various standards proposal designed within ISO committee TC 37 have been totally or partially written in TEI/ODD: MLIF, MAF, ISO 16642 rev., ISOTimeML

"Pure ODD"

Over the years ODD has evolved in response to the needs of the TEI community, both as the core specification language for the TEI guidelines, and also as a generic customization language. Since 2004, much effort has been put into making it less of a hybrid language, combining its own vocabulary with RelaxNG fragments and Schematron rules. Versions of TEI P5 later than 2.5 contain elements which can be used to express content models directly in the TEI ODD language, rather than in RELAXNG. ODD is thus an entirely self-contained generic specification language, independent of other existing grammars, and hence known as Pure ODD. The proposals for Pure ODD were included in the Guidelines during January 2016, and are included as part of the 3.0.0 release

If your existing TEI schema was developed prior to this release, you should probably read up on How to Update your ODD

See also




Personal tools