- From: Stanley Guan <stanley.guan@oracle.com>
- Date: Mon, 17 Mar 2003 10:21:50 -0800
- To: <xmlschema-dev@w3.org>
- Cc: "Henry S. Thompson" <ht@cogsci.ed.ac.uk>
In the following schema document (i.e., mytest.xsd), base2 should not be
a valid restriction of base1 because base2's content is empty while empty
string is NOT valid with "xs:integer".
With my prelimary testing, both XSV and Xerces think mytest.xsd is valid.
For example, with the given instance document (i.e., mytest.xml). Xerces
was happy. But, if I changed subelement "alternate1" to "head", it failed
with:
Element 'head' must have no element [children], and the value must be
valid.
because empty string is not valid with "xs:integer" type which is
contradictary
to the fact that Xerces thought mytest.xsd was valid.
Regards,
-Stanley
mytest.xsd
==========
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0">
<xs:element name="head" type="base1"/>
<xs:element name="alternate1" type="base2" substitutionGroup="head"
block="substitution" />
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element ref="head" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="base1" >
<xs:simpleContent>
<xs:extension base="xs:integer">
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="base2">
<xs:complexContent>
<xs:restriction base="base1">
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:schema>
mytest.xml
========
<root>
<alternate1></alternate1>
</root>
Received on Monday, 17 March 2003 13:24:06 UTC