- From: Erik Johnson <ejohnson@epicor.com>
- Date: Mon, 27 Nov 2006 17:18:14 -0800
- To: <xmlschema-dev@w3.org>
- Message-ID: <BF9C5B9528B9C246BC41C7B988C49C87026C597E@slate.americas.epicor.net>
I have two toolkits (from the same company, BTW) that compile the schema
shown below differently. One says the schema is fine while the other says
the choice inside grpC/ElementC1 violates the UPA rule. This example looks
a bit contrived, but it's a reduction from something a lot more complex that
obviously could be re-factored. On the surface, I can see why one might
think having grpA in choice particles at two levels within ElementC1 makes
the content ambiguous. But after thinking about it, I don't think that the
content model is ambiguous. My question is which toolkit is right and which
one gets my bug report? Thanks!
<xs:schema id="XMLSchema1"
targetNamespace="uri:erik:upaQuestion"
elementFormDefault="qualified"
xmlns="uri:erik:upaQuestion"
xmlns:tns="uri:erik:upaQuestion"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:group name="grpA">
<xs:sequence>
<xs:element name="ElementA1"/>
</xs:sequence>
</xs:group>
<xs:group name="grpB">
<xs:choice>
<xs:element name="ElementB1" />
<xs:group ref="tns:grpA"/>
</xs:choice>
</xs:group>
<xs:group name="grpC">
<xs:sequence>
<xs:element name="ElementC1">
<xs:complexType>
<xs:sequence>
<xs:choice>
<xs:group ref="tns:grpB"/>
<xs:group ref="tns:grpA"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:group>
<xs:element name="RootElement">
<xs:complexType>
<xs:choice>
<xs:group ref="tns:grpC"/>
<xs:sequence>
<xs:element name="OtherStuff" />
</xs:sequence>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
Received on Tuesday, 28 November 2006 01:18:33 UTC