W3C home > Mailing lists > Public > xmlschema-dev@w3.org > November 2006

UPA Question

From: Erik Johnson <ejohnson@epicor.com>
Date: Mon, 27 Nov 2006 17:18:14 -0800
Message-ID: <BF9C5B9528B9C246BC41C7B988C49C87026C597E@slate.americas.epicor.net>
To: <xmlschema-dev@w3.org>
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

This archive was generated by hypermail 2.3.1 : Wednesday, 5 February 2014 07:15:11 UTC