[tei-council] Wot is wrong with my ODD?
Lou Burnard
lou.burnard at retired.ox.ac.uk
Sun Jun 8 09:53:24 EDT 2014
On 08/06/14 14:36, Martin Holmes wrote:
> I'm quite confused now. What I like about PureODD is that (I thought)
> it was relatively transparent and comprehensible.
It is. Just not quite the way you expected. Trust me.
> If this: <elementSpec ident="seg" mode="change"> <content
> allowText="true"> <elementRef key="orgName" maxOccurs="unbounded"
> minOccurs="0"/> <elementRef key="persName" maxOccurs="unbounded"
> minOccurs="0"/> <elementRef key="choice" maxOccurs="unbounded"
> minOccurs="0"/> <elementRef key="seg" maxOccurs="unbounded"
> minOccurs="0"/> <elementRef key="trait" maxOccurs="unbounded"
> minOccurs="0"/> </content> </elementSpec> is different from this:
> <elementSpec ident="seg" mode="change"> <content allowText="true">
> <elementRef key="orgName"/> <elementRef key="persName" /> <elementRef
> key="choice" /> <elementRef key="seg" /> <elementRef key="trait"/>
> </content> </elementSpec> and (especially) if the latter is somehow
> impossible, then we need to revisit it and ultimately document it in
> much more detail.
The latter is correct, and does what you'd expect. The former is not
correct and should generate warnings/errors, but our current
implementation scorns such things.
Let me try to summarise the rules as I see them this afternoon:
1. The content of <content> can be
-- nothing (the element is empty)
-- a single elementRef or macroRef or classRef (the content is a single
element, a pattern, or a class reference)
-- a sequence or alternation of the foregoing in which case <sequence>
or <alternate> must be used to group them (and supply occurence
indicators if required)
2. The content of <content allowText="true"/> (aka <mixedContent>) can be
-- nothing (the element has text content)
-- one or more elementRefs or macroRefs or classRefs (the specified
content is alternated with text 0:n times )
-- if sequence or alternation are specified, it is an error since we are
only supporting XML at present, and it would therefore make no sense to
allow them
-- likewise for occurrence indicators
3. @allowText is not supported on anything other than <content> (its
presence elsewhere is is a corrigible error in the current spec)
More information about the tei-council
mailing list