ODD: One Document Does it All

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 hope to 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
  • concepts, implementation, and implications of “Pure ODD”.

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.

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.

Provisional programme


  • Discussion of participants’ actual usage and awareness of ODD, and their
    requirements for the workshop.
  • An ODD Initiation: syntax of the ODD
    language; graduated exercise in the construction of an elementary non-TEI
  • Brief reminder of the organization and content of the TEI system:
  • corpus of postcards. Experiments with different strategies (Roma,


  • ODD “under the hood”: examination and
    discussion of TEI practice. Presentation of some existing customizations
    (Lite, featherlite …). Exercises in advanced ODD construction
  • Management, validation and processing of ODDs using Oxygen and the TEI
    stylesheet family. Conformant and non-conformant modifications. Use of ODD
    as an archival format.
  • Review and discussion.


Specification of the ODD language

(Description of ODD processing)

Getting started with P5 ODDs

Lou Burnard. Resolving the Durand Conundrum.  Journal of the Text Encoding Initiative  6 (2013)

Lou Burnard Sebastian Rahtz RelaxNG with Son of ODD. Proceedings of Extreme Markup Languages 2004

Leave a Reply

Your email address will not be published. Required fields are marked *