- From: <jozef.aerts@xml4pharma.com>
- Date: Fri, 10 Dec 2004 10:12:02 +0100
- To: <xmlschema-dev@w3.org>
Dear all,
I have the following simple base schema (Base.xsd):
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- empty group -->
<xs:group name="base">
<xs:sequence></xs:sequence>
</xs:group>
<!-- root element -->
<xs:element name="rootelement">
<xs:complexType>
<xs:sequence>
<xs:element name="myelement"
type="myelement-definition"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- another element -->
<xs:complexType name="myelement-definition">
<xs:sequence>
<xs:group ref="base" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
and its implementation (BaseImplementation.xsd):
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- redefine the base schema -->
<xs:redefine schemaLocation="Base.xsd">
<!-- add a new element to the empty base -->
<xs:group name="base">
<xs:sequence>
<xs:group ref="base"/>
<xs:element name="testelement" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:group>
</xs:redefine>
</xs:schema>
Xerces(2-6-2) and Xerces-based tools like Exchanger XML Editor find this
OK.
XMLSpy (2005SP1) however complains: "Redefining model group definition
'base' must be a valid restriction of its redefined pendant.
I asked the people of Altova (Spy) and received the answer that
"According to the
W3C Specifications......src-redefine.6.2.2 prescribes that the
redefining model group must be a restriction of the redefined one"
So my question: who is right ? Does Xerces not check well on
src-redefine.6.2.2 or does Spy have another interpretation of the spec
?
Many thanks in advance,
Jozef Aerts
XML4Pharma
Received on Friday, 10 December 2004 09:14:11 UTC