Re: [xml-dev] DTD vs XSD: No Duplicate Types in (Mixed) Content Models

From
Mukul Gandhi <>
To
Maik Stührenberg <>
Date
2011-01-31T15:27:04Z
ID
<>
Thread
Re: [xml-dev] DTD vs XSD: No Duplicate Types in (Mixed) Content Models
Hi Maik,
    In the example you've cited below, in the first case the schema
defines 5 particles (the 5 element particles) while in the 2nd case
the schema defines only one particle (but whose cardinality is > 1,
and that is a deterministic schema to validate an XML instance
document).

If the XML document fragment was following, for example:
<b/>
<b/>
<b/>
<b/>

and if this was attempted to be validated by the Schema sequence
defined in your first case, then we should get a UPA violation (since
the XML Schema validator cannot determine that with which element
particle, the instance element should be validated).

As a side note: I think Xerces has an option to turn off UPA checking,
so you can perform a lax validation ignoring UPA concerns.

On Mon, Jan 31, 2011 at 7:57 PM, Maik Stührenberg
<> wrote:
> It would be interesting to know why XSD processors do make a difference
> between
>
> <xs:element name="a">
>    <xs:complexType>
>      <xs:sequence>
>        <xs:element ref="b"/>
>        <xs:element ref="b"/>
>        <xs:element ref="b"/>
>        <xs:element ref="b" minOccurs="0" maxOccurs="1"/>
>        <xs:element ref="b" minOccurs="0" maxOccurs="1"/>
>      </xs:sequence>
>    </xs:complexType>
>  </xs:element>
>
> and
>
> <xs:element name="a">
>    <xs:complexType>
>      <xs:sequence>
>        <xs:element ref="b" minOccurs="3" maxOccurs="5"/>
>      </xs:sequence>
>    </xs:complexType>
>  </xs:element>




-- 
Regards,
Mukul Gandhi