Hi,

Sorry if that has already been fixed but I am still on version 7.2p1.

Xsdvalid considers (against other implementations including Xerces2 and
IBM SQC) that the following schema is invalid:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";>
    <xs:element name="foo">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="bar" type="xs:token"/>
                <xs:element name="bar" type="xs:token" nillable="true"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

and says:


repro.xsd:E:7:16: d?claration d'?l?ment "bar" incoh?rente
[cos-element-consistent]

The rec says:


Schema Component Constraint: Element Declarations Consistent
If the {particles} contains, either directly, indirectly (that is,
within the {particles} of a contained model group, recursively) or
?implicitly? two or more element declaration particles with the same
{name} and {target namespace}, then all their type definitions must be
the same top-level definition, that is, all of the following must be
true:
1 all their {type definition}s must have a non-?absent? {name}.
2 all their {type definition}s must have the same {name}.
3 all their {type definition}s must have the same {target namespace}.

And lists type definitions are properties of element declarations at the
same level as the nillable property.

My interpretation is thus that you shouldn't raise a
cos-element-consistent error when the types are the same and the
nillable attribute is different.

Eric
-- 
Lisez-moi sur XMLfr.
                       http://xmlfr.org/index/person/eric+van+der+vlist/
------------------------------------------------------------------------
Eric van der Vlist       http://xmlfr.org            http://dyomedea.com
(ISO) RELAX NG   ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------


Reply via email to