RE: Xerces developers - there's a bug in Xerces schema validation

Hi Folks,

Let's summarize:

1. Xerces reports an error with the below schema (XML Schema 1.0 validation).

2. Saxon reports that the below schema is fine.

3. Xerces strictly follows the algorithm specified in the XML Schema specification.

4. Saxon does not strictly follow the algorithm because the Saxon team recognized that the algorithm is flawed.

5. We have an interoperability problem: when validating the exact same schema, system 1 using Xerces gets a different result than system 2 using Saxon.

So, where do we go from here? As I see it, there are three choices:

(a) The Xerces team modifies their code to be consistent with Saxon.

(b) The Saxon team modifies their code to be consistent with Xerces.

(c) Both the Xerces team and the Saxon team do nothing and the world remains in the current state of non-interoperability.

Thoughts?

/Roger
----------------------------------------------------------------------------------
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    
    <xs:element name="A" type="xs:double" />
    <xs:element name="B" substitutionGroup="A" type="xs:double" />
    
    <xs:complexType name="base">
        <xs:sequence>
            <xs:element ref="A" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>
    
    <xs:complexType name="derived">
        <xs:complexContent>
            <xs:restriction base="base">
                <xs:sequence>
                    <xs:element ref="B" minOccurs="0" />
                </xs:sequence>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
</xs:schema>

Received on Friday, 26 February 2016 11:55:46 UTC