OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] Ambiguous Content Models

[ Lists Home | Date Index | Thread Index ]

Eric van der Vlist <vdv@dyomedea.com> writes:

> On Fri, 2003-10-03 at 12:42, Max Chappell wrote:
>
>> Does anybody have any comments on the validity of the above? 
>
> The IBM Schema Quality Checker is right...
>
> If you have several "Person" elements in your instance document, a
> schema processor can't immediately tell if they belongs to the first
> sequence, to the xs:element that follows or to the second sequence and
> that's violating the restrictions of W3C XML Schema.
>
> Furthermore, your schema is not capturing "they want any element of the
> three elements in any order, as many or as few times as they want" :-)
> ...
>
> The usual way to translate "any element of the three elements in any
> order, as many or as few times as they want" in WXS is through
> xs:choice:
>
>     <xs:choice minOccurs="0" maxOccurs="unbounded">
>         <xs:group ref="tns:GenericElements"/>
>         <xs:element name="Person" type="tns:Person"/>
>         <xs:element name="Location" type="tns:Loc"/>
>     </xs:choice>
>
> That doesn't capture the fact that "they also want at least one 
> person element to be present every time" but I don't see how you can
> capture this using WXS alone.

Sure, it's easy -- you want the schema equivalent of

 <!ELEMENT x ((a|b)*,c,(a|b|c)*)>

  <xs:sequence>
    <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:group ref="tns:GenericElements"/>
        <xs:element name="Location" type="tns:Loc"/>
    </xs:choice>
    <xs:element name="Person" type="tns:Person"/>
    <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:group ref="tns:GenericElements"/>
        <xs:element name="Person" type="tns:Person"/>
        <xs:element name="Location" type="tns:Loc"/>
    </xs:choice>
  </xs:sequence>

ht
-- 
  Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
                      Half-time member of W3C Team
     2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
	    Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk
		     URL: http://www.ltg.ed.ac.uk/~ht/
 [mail really from me _always_ has this .sig -- mail without it is forged spam]




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS