Re: UPA Question

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