RE: redefine and empty xs:group

6.2.2 applies only if there is no self reference in the redefine. If
there is a self reference (like in this case), then it does not need to
be a valid restriction. 


-----Original Message-----
From: xmlschema-dev-request@w3.org [mailto:xmlschema-dev-request@w3.org]
On Behalf Of jozef.aerts@xml4pharma.com
Sent: Friday, December 10, 2004 1:12 AM
To: xmlschema-dev@w3.org
Subject: redefine and empty xs:group



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 18:45:42 UTC