[tei-council] rowing back on <mixedContent>

Martin Holmes mholmes at uvic.ca
Sun Jul 6 20:30:18 EDT 2014


model.availabilityPart has only one member, <licence>, and it's used 
only in the content model of <availability>:

   <content xmlns:rng="http://relaxng.org/ns/structure/1.0">
     <rng:oneOrMore>
       <rng:choice>
         <rng:ref name="model.availabilityPart"/>
         <rng:ref name="model.pLike"/>
       </rng:choice>
     </rng:oneOrMore>
   </content>

where it's in alternation with model.pLike. model.pLike contains only 
<ab> and <p>. If <licence> were removed from the header module, <ab> 
were removed from linking and <p> from core, what should happen?

(This is not completely insane; you might be creating a file consisting 
only of a <teiHeader> and a <facsimile>.

The result would be a call for one or more elements from a choice of two 
empty models. I believe that an ODD processor should be required in this 
case to delete the models completely, resulting in an empty content 
model for <availability>, which would make it an empty element (again, 
not insane because it has @status which is enough to specify the 
availability of a document).

I think the deletion of the empty model must be required, otherwise the 
content model above would be completely non-deterministic; the empty 
element could have been arrived at by any combination of the empty 
models comprising its content model. QED. Unless we are determined to 
support non-deterministic content models, of course.

Cheers,
Martin

On 14-07-06 09:39 AM, Lou Burnard wrote:
> On 06/07/14 17:20, Sebastian Rahtz wrote:
>> this needs some analysis, to find a content model where members
>> of a class are _required_. Most models have
>>
>>       model.fooLike*
>>
>> and we need one with
>>
>>     model.fooLike+
>
> Exactly. And there are very very very few such cases.
>
>> to look at.
>>
>> I’d go look, but  I am in purdah until 5.30pm tomorrow worrying
>> about the Hackathon.
>> --
>
> Ditto, but re. DHOXSS
>
>


More information about the tei-council mailing list