Ah, you have met something known as the "Durand Conundrum", formulated back when we decided to use RELAX NG by David Durand; viz the conflict between using the full power of RNG natively, and constraining it with ODD for compatibility.
The conventional answer is to use Schematron, and I can see why thats a problem
> 2. Copy the above RelaxNG snippet into person content
not sustainable, I think, to mix ODD and pure RELAX NG like that.
> A third possibility that comes to my mind is to add new elements
> "fullName" and "regName" instead of differentiating via @types. Then I
> could constrain on (native ODD, without RelaxNG) elements without
> Schematron and gain code completion as well. Looks like the best of
> both 1 and 2?!
carefully done, as an authoring/data entry schema, this has a lot to recommend it.
Then normalize the result back to pure TEI P5 for storage and processing.
this side of a complete rethink of ODD, I don't immediately see a fourth way
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