[
Lists Home |
Date Index |
Thread Index
]
> However, if the complex type were changed to look as
> follows:
>
> > >> <xs:complexType name="contentiddef">
> > >> <xs:choice>
> > >> <xs:choice minOccurs="0" maxOccurs="unbounded">
> > >> <xs:element ref="x:externalid"/>
> > >> <xs:element ref="x:major"/>
> > >> </xs:choice>
> > >> <xs:choice minOccurs="0" maxOccurs="unbounded">
> > >> <xs:element ref="x:major"/>
> > >> <xs:element ref="x:minor"/>
> > >> <xs:element ref="x:version"/>
> > >> </xs:choice>
> > >> </xs:choice>
> > >> </xs:complexType>
>
> the XML schema processor would know which choice set it is in when it
> encounters a "major" element because if it first encountered an
> "externalID" element (which must remain mandatory - as it is
> above - in
> order for this to work) it knows that it must be in the first choice
> set; otherwise, it must be in the second.
I don't think so. The model here is ((e|ma)* | (ma|mi|v)*), and content
consisting of a single "ma" element would match either branch.
Michael Kay
http://www.saxonica.com/
|