W3C home > Mailing lists > Public > xmlschema-dev@w3.org > December 2004

RE: redefine and empty xs:group

From: Michael Kay <mike@saxonica.com>
Date: Fri, 10 Dec 2004 09:59:20 -0000
To: <jozef.aerts@xml4pharma.com>, <xmlschema-dev@w3.org>
Message-Id: <E1CchYY-0004J3-00@ukmail1.eechost.net>


Saxon accepts this schema without complaint.

6.2.2 is part of 6.2, which starts "If it has no such self-reference,
then..." Your redefined group does have a self-reference, so 6.2.2 does not
apply.

I think Saxon and Xerces are right and XMLSpy is wrong.


Michael Kay
http://www.saxonica.com/
 

> -----Original Message-----
> From: xmlschema-dev-request@w3.org 
> [mailto:xmlschema-dev-request@w3.org] On Behalf Of 
> jozef.aerts@xml4pharma.com
> Sent: 10 December 2004 09:12
> 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 09:59:23 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 11 January 2011 00:14:48 GMT