Difference between revisions of "ODD"

From TEIWiki
Jump to navigation Jump to search
m (adding link to ODD-dev)
Line 1: Line 1:
'''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 [[Wikipedia:literate programming|literate programming]] fashion. It uses elements from the new [http://www.tei-c.org/P5/Guidelines/TD.html Tag Documentation] module.
+
'''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 [[Wikipedia:literate programming|literate programming]] fashion. It uses elements from the new [http://www.tei-c.org/P5/Guidelines/TD.html Documentation Elements] module.
  
 
== Description ==
 
== Description ==

Revision as of 00:43, 14 April 2011

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.

Description

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.

Example

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 name="teistructure"/>
  <moduleRef name="linking"/>
  <moduleRef name="core"/>
  <moduleRef name="teiheader"/>
  <elementSpec ident="head" mode="change">
    <content><rng:text/></content>
  </elementSpec>
</schemaSpec>

produces the schema for TEI Lite, with a slight change.

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

Future plans

Over the years ODD has evolved progressively to reflect more and more needs of the TEI community, both as the core specification language for the TEI guidelines, but also as generic customization language for any TEI users. Still ODD remains a hybrid environment combining its own vacabulary with RelaxNG fragments and at times, validation vocabularies from external languages (e.g. Schematron). The TEI council contemplates putting on its work program a revision of the ODD infrastructure, considering either to drop it altogether in favor of one existing schema language, or extend its capabilities to make it a self contained and generic specification language. Some thoughts are included at ODD-dev.

See also