ODD (One Document Does it all)
Encyclopedia
ODD stands for "One Document Does it all". Part of the Text Encoding Initiative
Text Encoding Initiative
The Text Encoding Initiative is a text-centric community of practice in the academic field of digital humanities. The community runs a mailing list, meetings and conference series, and maintains a technical standard, a wiki and a toolset....

, it is an XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

-based format for writing human-readable descriptions of XML files.
ODD allows its users to customize the P5 version of the TEI XML formats by writing XML schema
XML schema
An XML schema is a description of a type of XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic syntactical constraints imposed by XML itself...

s in a literate programming
Literate programming
Literate programming is an approach to programming introduced by Donald Knuth as an alternative to the structured programming paradigm of the 1970s....

 fashion.

ODD documents are themselves valid Text Encoding Initiative
Text Encoding Initiative
The Text Encoding Initiative is a text-centric community of practice in the academic field of digital humanities. The community runs a mailing list, meetings and conference series, and maintains a technical standard, a wiki and a toolset....

 XML files. They use the 'tagdocs' or Documentation Elements module, which is a specification meta-schema format for documenting the relations and constraints between the modules, classes, elements, attributes, and content models which make up a particular TEI customization. In this way, ODD is a meta-schema language which allows a single source file to be translated into multiple formats of schema files: DTD
Document Type Definition
Document Type Definition is a set of markup declarations that define a document type for SGML-family markup languages...

s, W3C XML Schema, Relax NG
RELAX NG
In computing, RELAX NG is a schema language for XML, based on Murata Makoto's RELAX and James Clark's TREX. A RELAX NG schema specifies a pattern for the structure and content of an XML document...

 Compact Syntax, and Relax NG XML Syntax schemas. As well as being used to generate schemas in this way, ODD files are self-documenting: they can contain descriptive prose which acts as project-specific documentation for that TEI customisation. From a single ODD file one can generate localised and internationalised
Internationalization and localization
In computing, internationalization and localization are means of adapting computer software to different languages, regional differences and technical requirements of a target market...

 documentation which describes the schema in human-readable text and which incorporates the various customizations to the base TEI standard that the ODD file encodes.

The Roma web application can understand the ODD format and use it to automatically generate validators for a given schema.

Although ODD files generally describe the difference between a customized XML format and the full TEI model, ODD also can be used to describe XML formats that are entirely separate from the TEI. One example of this is the W3C's Internationalization Tag Set
Internationalization Tag Set
The ' is a set of attributes and elements designed to provide internationalization and localization support in XML documents.The ITS specification identifies concepts which are important for internationalization and localization. It also defines implementations of these concepts through a set of...

which uses the ODD format to generate schemas and document its vocabulary.
The TEI P5 Guidelines themselves are also written using ODD.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK