RE: Who tests UPA?

Saxon doesn't currently attempt to detect ambiguities involving wildcards
(the FSA always chooses a specific transition in preference to a wildcard
transition), but in general the code does look for UPA ambiguities. 

However, I found on testing variations of this example that there are other
ambiguities that I'm not detecting, and I'm investigating why. Curiously,
Saxon 8.0 reports this as ambiguous:

      <xs:sequence>
        <xs:element name="AdminData" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="AdminData" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>

but not this:

      <xs:sequence>
        <xs:element ref="AdminData" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="AdminData" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>

Michael Kay
http://www.saxonica.com/ 

> -----Original Message-----
> From: xmlschema-dev-request@w3.org 
> [mailto:xmlschema-dev-request@w3.org] On Behalf Of Xan Gregg
> Sent: 15 September 2004 22:14
> To: xmlschema-dev@w3.org
> Subject: Who tests UPA?
> 
> 
> Zafar Abbas of Microsoft pointed out to me that the CDISC ODM 
> schema [1]
> I pointed to in a previous note contains a UPA violation.
> 
>  <xs:sequence>
>   <xs:element ref="Study" minOccurs="0" maxOccurs="unbounded"/>
>   <xs:element ref="AdminData" minOccurs="0" maxOccurs="unbounded"/>
>   <xs:element ref="ReferenceData" minOccurs="0" 
> maxOccurs="unbounded"/>
>   <xs:element ref="ClinicalData" minOccurs="0" maxOccurs="unbounded"/>
>   <xs:element ref="Association" minOccurs="0" maxOccurs="unbounded"/>
>   <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="unbounded"/>
>   <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
>  </xs:sequence>
> 
> I hadn't noticed it and neither did any validator I tried. Apparently 
> some version of the Microsoft validator does catch the error.  I 
> tried Turbo XML, Xerces (via <oXygen>), XML Spy, Stylus Studio, 
> and XSV.  None complained.  (I take it if I tried the MS validator, 
> the license would prevent me from reporting the results anyway!)  
> 
> I also tried just duplicating the ds:Signature particle.
> 
>   ...
>   <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="unbounded"/>
>   <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="unbounded"/>
>   ...
> 
> Then Turbo XML reported the violation, but none of the others 
> did.  Is 
> this intentional?  It is user error?  I seem to remember the XML Spy
> folks reporting that they turned off the UPA check because of user 
> confusion.
> 
> xan
> 
> [1] http://www.cdisc.org/schema/ODM1-2-0.xsd
> 
> 

Received on Thursday, 16 September 2004 01:51:17 UTC