[tei-council] <content> vs <mixedContent>

Lou Burnard lou.burnard at retired.ox.ac.uk
Sun Oct 5 14:04:25 EDT 2014


Come come, this is mere speculation. I am not sure that such a thing as 
"the naive ODDer" exists, but if it does, it will rapidly learn whether 
or not it wants to use model.global and model.gLike and where.

You can't argue against magic and then complain because mixedContent as 
proposed and twice agreed to by the council is not magical enough. It 
does what it does.



On 05/10/14 18:52, Sebastian Rahtz wrote:
> On 5 Oct 2014, at 18:28, Lou Burnard <lou.burnard at retired.ox.ac.uk> wrote:
>
>>> <mixedContent> is provided explicitly as a shortcut convenience for the common case, recognised in all  current schema languages and used in 99% of all TEI derived schemas,
>>> I think this is not true, actually. Plain text is used in almost none of the TEI models.
>>> Let me do some poking to see if I can derive the statistics.
>> That was not what I asserted! I asserted that *mixedContent* (in which rng:text alternates with other elements or classes of elements) appears in almost all TEI models.
> if we take <p> as an example, its content is macro.paraContent, which expands to
>
>      <rng:zeroOrMore xmlns:rng="http://relaxng.org/ns/structure/1.0">
>        <rng:choice>
>          <rng:text/>
>          <rng:ref name="model.gLike"/>
>          <rng:ref name="model.phrase"/>
>          <rng:ref name="model.inter"/>
>          <rng:ref name="model.global"/>
>          <rng:ref name="lg"/>
>        </rng:choice>
>      </rng:zeroOrMore>
>
> i.e. almost exactly what you expect <mixedContent> to do. HOWEVER, your naive ODDer would probably write this as
>
> <mixedContent>
> 	<classRef key=“model.phrase”/>
> 	<classRef key=“model.inter”/>
> 	<elementRef key=“lg”/>
> </mixedContent>
>
> because they would concentrate on the classes and elements they understood, knowing the “mixed”-ness will be supplied
> by the ODD processor, and thus losing the model.gLike which we recommend to everyone.
>
> My point is that the behaviour exhibited by <mixedContent>, i.e. alternating <rng:text> with any element or class references which
> are given, would represent the behaviour of just 6 existing TEI elements (code, constraint, creation, egXML, formula, zone). Therefore
> I suggest that its apparent usefulness in our familiar TEI content is very limited.  That’s not to say that people writing ODD
> for schemas in a simpler world would not use it (although the inability to distinguish string from token whitespaceness would
> not find it friends in the XML Data community); but it would be unusual for us to add  a facility which we don’t use ourselves.
>
> it is arguable that a <simpleContent>, which supplied a default <zeroOrMore><alternate> wrapper around the *Ref inside it,
> would have far greater utility, in which the user can easily add a <macroRef> to data.text
>
> --
> Sebastian Rahtz
> Director (Research) of Academic IT
> University of Oxford IT Services
> 13 Banbury Road, Oxford OX2 6NN. Phone +44 1865 283431
>
> Não sou nada.
> Nunca serei nada.
> Não posso querer ser nada.
> À parte isso, tenho em mim todos os sonhos do mundo.
>



More information about the tei-council mailing list