- From: <bugzilla@wiggum.w3.org>
- Date: Sat, 23 Sep 2006 22:30:59 +0000
- To: www-xml-schema-comments@w3.org
- CC:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=3763
Summary: R-241: Question re: Validation of an element restriction
whose base type has the variety union
Product: XML Schema
Version: 1.0 only
Platform: Macintosh
OS/Version: All
Status: NEW
Keywords: unclassified
Severity: normal
Priority: P2
Component: Structures: XSD Part 1
AssignedTo: cmsmcq@w3.org
ReportedBy: cmsmcq@w3.org
QAContact: www-xml-schema-comments@w3.org
This issue is a twin of bug 2233; this copy is for XML Schema 1.0,
and bug 2233 is for XML Schema 1.1; I am separating the two since
they seem likely to have distinct dispositions.
The comment was first raised on the xmlschema-dev mailing list
by Michael Marchegay on 6 November 2003
(http://lists.w3.org/Archives/Public/xmlschema-dev/2003Nov/0019.html);
a reply by Alessandro Triglia was cross-posted to www-xmlschema-comments
(http://lists.w3.org/Archives/Public/www-xml-schema-comments/2003OctDec/0038.html).
The words that follow are Marchegay's:
It seems to me that the the following schema should be invalid because the
value space of the base type definition of the element "e" in the type
"ct-base" is not a super set of the value space of the base type definition
of the element "e" in "ct-deriv"; but I cannot find any Schema Component
Constraint invalidating it.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="base">
<xs:union memberTypes="xs:boolean xs:integer"/>
</xs:simpleType>
<xs:simpleType name="deriv">
<xs:restriction base="base">
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ct-base">
<xs:sequence>
<xs:element name="e" type="deriv"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ct-deriv">
<xs:complexContent>
<xs:restriction base="ct-base">
<xs:sequence>
<xs:element name="e" type="xs:integer"/>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:schema>
Using cos-st-derived-ok [1], xs:integer seems to be validly derived
given {extension, list, union} from deriv (because the member type
definitions property of deriv is the the member type definitions of base).
Therefore, rcase_NameAntTypeOK [2] is not violated, and the restriction
seems to be valid.
Have I missed something?
[1] http://www.w3.org/TR/xmlschema-1/#cos-ct-derived-ok
[2] http://www.w3.org/TR/xmlschema-1/#rcase-NameAndTypeOK
Received on Saturday, 23 September 2006 22:31:05 UTC