- From: <bugzilla@wiggum.w3.org>
- Date: Wed, 14 Sep 2005 19:43:20 +0000
- To: www-xml-schema-comments@w3.org
- Cc:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=2244
Summary: R-252: Final/block, transitivity and restriction
Product: XML Schema
Version: 1.0
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: XSD Part 1: Structures
AssignedTo: ht@w3.org
ReportedBy: sandygao@ca.ibm.com
QAContact: www-xml-schema-comments@w3.org
In certain cases, I'm not sure the current REC makes the right call on when to
do recursive checking up the base type chain and when not.
Consider the following schema document:
<xs:schema>
<xs:element name="root" type="top"/>
<xs:complexType name="top" final="restriction">
<xs:sequence>
<xs:element name="a" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="intermediate">
<xs:complexContent>
<xs:extension base="top">
<xs:sequence>
<xs:element name="b"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="bottom">
<xs:complexContent>
<xs:restriction base="intermediate">
<xs:sequence>
<xs:element name="b"/>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="top2">
<xs:sequence>
<xs:element name="c" type="top"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="restrictOKorNot">
<xs:complexContent>
<xs:restriction base="top2">
<xs:sequence>
<xs:element name="c" type="bottom"/>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:schema>
The constraints on type definitions do _not_ recurse up the chain when
checking 'final', so the type def named 'bottom' above is OK, despite
restricting away an element ('a') introduced in a type definition which says
it's final for restriction.
However, content model checking _does_ recurse up the chain, so the type defn
named 'restrictOKorNot' is _not_ OK. Neither is that following instance, wrt
the schema corresponding to the above schema doc:
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="bottom">
<b/>
</root>
Is this really what we want?
See
http://lists.w3.org/Archives/Public/www-xml-schema-comments/2004JanMar/0087.html
Received on Wednesday, 14 September 2005 19:43:35 UTC