[tei-council] a proposal for a change to ODD (copy of ticket I just put in SF)

Sebastian Rahtz sebastian.rahtz at oucs.ox.ac.uk
Wed Mar 3 16:20:19 EST 2010

[from a discussion with Lou and James earlier today]

Currently, we say things in an ODD like

  <moduleRef key="figures"/>
  <elementSpec ident="table" mode="delete"/>

which works fine to get the subset of elements we want. But that has the side effect that when the TEI adds <foo> to the module,
it pops up when we next compile our ODD, and our schema has changed. We need a way to  say exactly what we _do_ want, not
what we _don't_ want.

I therefore propose 3 new elements, <elementRef>, <classRef> and <macroRef>, which have same attributes as <moduleRef>,
and dictate which elements are to be appear in the output schema. No other elements can creep in in future. Similarly, I explicitly
say what attribute classes I want (I am not quite so sure about macros), apart from att.global. The result is much less likelihood of
surprises at future releases. New attributes _will_ pop up sometimes, but I think that's bearable.

Yes, its may be a pig to implement, but I claim the semantics are fairly clear.

As an alternative, if you dont like <*Ref>, we could add an attribute "copyOf" to <*Spec>, with the
same effect.

I believe that there is real demand for this (Tite is an excellent example
of a project which badly needs no surprises at TEI version changes),
that it is doable, and that it does not mean a rethink of ODD.

(it would help to discuss this in public on the SF ticket:
Sebastian Rahtz      
Information Manager, Oxford University Computing Services
13 Banbury Road, Oxford OX2 6NN. Phone +44 1865 283431

Sólo le pido a Dios
que el futuro no me sea indiferente

More information about the tei-council mailing list