Text only | Skip links
Skip links||IT Services, University of Oxford

1. Workshop objectives

ODD ("One Document Does it all") is an XML documentation system in the literate programming paradigm which was originally designed as a means of expressing customizations of the TEI. Its current version, however, goes beyond this to provide a generic tool for the documentation and management of any XML encoding scheme, not necessarily one based on the TEI, although it is most often used in that context.

A major difficulty for TEI novices has always been how to select amongst the hundreds of elements and attributes defined within it. An ODD provides a well defined way of declaring that selection once it has been made, but the procedure of defining an ODD remains mysterious for many, despite the existence of tools such as Roma which provide a simpler interface. Since the language was extended in 2013 to provide even more powerful facilities, and is now largely independent of any knowledge of other schema languages such as RELAX NG, it is even more interesting to those with a close interest in document constraints.

In this workshop we will shed light on the mysteries of ODD. More concretely, participants will gain:

  • a detailed practical knowledge of the whole of the currently defined ODD system, including the recently-added "Pure ODD" modifications;
  • an understanding of the various ways in which ODD may be used to customise the TEI (selection and modification of components, addition of new components);
  • an understanding of the formal TEI specifications for elements, macros, and classes, together with their use in the construction of the TEI schema;
  • hands-on experience in the creation and development of TEI schemas adapted to the needs of specific projects dealing with a variety of primary materials;
  • experience in the use of currently available ODD processing tools.

The Workshop will be of interest to people whose role includes training non-technically-oriented staff on the best use of ODD, or otherwise providing technical support to a TEI-using community.

Amongst other topics we intend to cover the following:
  • going beyond Roma: how to use ODD for documentation;
  • using Schematron to implement additional constraints;
  • how to chain ODDs together
  • using "ODD by example" to generate an ODD; comparison between this and a project defined ODD;
  • conversion between exclusive and inclusive style ODDs; implications of the choice;
  • concepts, implementation, and implications of "Pure ODD".

2. Practical details

The workshop will run for a full day, and will consist of a mixture of discussion, formal presentations, and hands-on practical work. For the latter, participants will be expected to provide their own laptops (unless a training room with workstations is available). Although any XML-editor may be used, the materials we prepare will assume that an up to date installation of oXyGen is available on each participant's machine.

For the practical exercises, you will need to download and unpack this set of test files.

Pre-registration is essential and no more than 10-15 participants will be accepted. They should have good knowledge of the basics of TEI and of XML. General IT skills (for example, file management, how to use an editor etc.) are required.

The workshop will be run by Lou Burnard and Sebastian Rahtz.

3. Programme

  • Discussion of participants' actual usage and awareness of ODD, and their requirements for the workshop. Check that everyone knows how to use oXygen and has a recent version installed. LB and SR
  • An ODD Initiation: syntax of the ODD language; graduated exercise in the construction of an elementary non-TEI ODD. LB
  • Organization and content of the TEI system; its architecture: modules, classes, macros talk-02-tei.xml
  • Case study : designing a TEI customization for a corpus of postcards. Experiments with different strategies (Roma, teibyExample). ex-3-odd.xml LB to update
  • How the TEI uses ODD: detailed examination and discussion of current TEI practice. LB
  • Some existing customizations (Lite, SVG, Simple ... )
  • Writing your own ODD : construction of a minimal ODD; construction of an ODD to support participants' specialisations.
  • Advanced topics in ODD. Use of specGrp etc. Use of non-TEI namespaces e.g. MathML. Conformant and non-conformant customizations. Chaining of ODDs. Using Schematron. ODD to JSON for visualisation
  • Review and discussion.

4. Literature

  1. (Specification of the ODD language) http://www.tei-c.org/release/doc/tei-p5-doc/en/html/TD.html
  2. (Description of ODD processing) http://www.tei-c.org/release/doc/tei-p5-doc/en/html/USE.html#IM
  3. Getting started with P5 ODDs (Tutorial introduction (P5))
  4. http://www.tei-c.org/Guidelines/Customization/odds.xml (Another tutorial introduction)
  5. Resolving the Durand Conundrum Lou Burnard Journal of the Text Encoding Initiative: Issue 6 | December 2013 (Article introducing and explaining some proposed modifications to the ODD System; implemented as "Pure ODD")
  6. http://tbe.kantl.be/TBE/modules/TBED08v00.htm (Tutorial introduction (P4; now superseded))
  7. Lou Burnard Sebastian Rahtz RELAX NG with Son of ODD http://conferences.idealliance.org/extreme/html/2004/Burnard01/EML2004Burnard01.html Proceedings of Extreme Markup Languages 2004 (Technical description of the new ODD system developed for TEI P5.)
  8. James Cummings ODDly Pragmatic: Documenting encoding practices in Digital Humanities projects[Blog entry summarizing talk given at JADH 2013]

Lou Burnard, Sebastian Rahtz. Date:
Copyright University of Oxford