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

Re: UPA Question

From: George Cristian Bina <george@oxygenxml.com>
Date: Tue, 28 Nov 2006 07:11:59 +0200
Message-ID: <456BC51F.9000808@oxygenxml.com>
To: Erik Johnson <ejohnson@epicor.com>
CC: xmlschema-dev@w3.org

Hi Erik,

The schema is ambiguous so the correct behavior is to report a UPA 
violation.

Best Regards,
George
---------------------------------------------------------------------
George Cristian Bina
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com

Erik Johnson wrote:
> 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 05:07:22 UTC

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