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

Martin Holmes mholmes at uvic.ca
Sat Oct 4 15:33:08 EDT 2014


On 14-10-04 10:19 AM, Lou Burnard wrote:
> On 04/10/14 18:07, Lou Burnard wrote:
>> On 04/10/14 14:46, Sebastian Rahtz wrote:
>>> On 4 Oct 2014, at 11:34, Lou Burnard <lou.burnard at retired.ox.ac.uk> wrote:
>>>
>>>>> The semantics of <textNode> == data/@type=‘string’, no?
>>>> rng:text or rng:string ? presumably the latter.
>>> eh? rng:string doesn’t exist, does it?
>> sorry, i meant xsd:string, obvs
>>
>>
>>>> Calling our macro "data.text" (even though it has the value rng:string) is going to return to bite us several times, I foresee. For example, the macro macro.xtext is defined as "text | model.glike" not "string | model.gLike".
>>>>
>>>> How do you feel about giving <textNode> macro.xText as content? It's more consistent with the TEI semantic model!
>>> Yes, I was going to raise this point. But then how do people say they really _do_ want just text?
>>>
>>> The more I think about this in real life, the more I worry about the biting. Using <mixedContent>
>>> at least has the benefit that we avoid saying what the “mixed” consists of, but <textNode>
>>> exposes us to the “text” question which seems to haunt us like Europe haunts the Conservative Party.
>>>
>>>     * if <textNode> == rng:text, people have to be taught to add <macroRef key=“model.gLike”/> as well
>>>     * if <textNode> == data.text, then people can’t specify just the equivalent of <rng:text>
>> 1. we decided that all datatype declarations must be indirect, so
>> <textNode>  has to have a content model of macro.something, for symmetry.
>>
>> 2. macro.something could be either macro.xText , maps to
>> (text|model.gLike)* or (as yet nonexistent) macro.Text  which maps to
>> text, or indeed something else we haven't thought of yet
>>
>> If someone thinks the TEI has decided the wrong way (for a given
>> application) redefining the macro is not so hard.
>>
>
>
> Actually, now I think about it, that's all unnecessary folderoll. It can
> have a perfectly ordinary content model of
>
> <content>
> <alternate maxOccurs="unbounded/>
> <rng:ref name="text"/>
> <classRef key="model.gLike"/>
> </alternate>
> </content>

When I read this, <rng:ref name="text"/> meant to me the TEI <text> 
element, as it appears in the current content model for <TEI>:

   <content>
     <group xmlns="http://relaxng.org/ns/structure/1.0">
       <ref name="teiHeader"/>
       <choice>
         <group>
           <oneOrMore>
             <ref name="model.resourceLike"/>
           </oneOrMore>
           <optional>
             <ref name="text"/>
           </optional>
         </group>
         <ref name="text"/>
       </choice>
     </group>
   </content>

Am I missing something here? Or should it be <rng:ref name="textNode"> 
or some such thing?

Cheers,
Martin

>
> and then if people want plain text, they just delete model.gLike
>
>


More information about the tei-council mailing list