- From: Wang, Zhuo <zhuo.wang@intel.com>
- Date: Thu, 8 Mar 2007 18:07:06 +0800
- To: "Michael Kay" <mike@saxonica.com>, <xmlschema-dev@w3.org>
- Cc: "Moog, Thomas H" <thomas.h.moog@intel.com>
- Message-ID: <7B2CABB47D5B094AAACC8A1E001B82F522812E@pdsmsx411.ccr.corp.intel.com>
I see :-)
I’m very appreciated your exact explanation!
The group reference is inside the complexType which limits the particle element “ul”.
So, the reference not belongs to the particles inside the group.
-Wang Zhuo
________________________________
From: Michael Kay [mailto:mike@saxonica.com]
Sent: 2007年3月8日 18:00
To: Wang, Zhuo; xmlschema-dev@w3.org
Cc: Moog, Thomas H
Subject: RE: question about group circle definition
The reason is that the group reference is not "within the model group at any depth", because it's in a different complexType:
<xsd:group name="ul">
<xsd:sequence>
<xsd:element name="ul">
<xsd:complexType>
<xsd:sequence>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="li" />
<xsd:group ref="ul" minOccurs="0" maxOccurs="unbounded" />
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:group>
The constraint is on the schema component model, not the XML representation, and the schema component model is the same as if it had been written:
<xsd:group name="ul">
<xsd:sequence>
<xsd:element name="ul" type="anonZZZ"/>
</xsd:sequence>
</xsd:group>
<xsd:complexType name="anonZZZ">
<xsd:sequence>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="li" />
<xsd:group ref="ul" minOccurs="0" maxOccurs="unbounded" />
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
which makes it clear that the group does not actually contain a reference to itself.
Michael Kay
http://www.saxonica.com/
________________________________
From: xmlschema-dev-request@w3.org [mailto:xmlschema-dev-request@w3.org] On Behalf Of Wang, Zhuo
Sent: 08 March 2007 08:39
To: Michael Kay; xmlschema-dev@w3.org
Cc: Moog, Thomas H
Subject: RE: question about group circle definition
The case is:
/xmlschema2006-11-06/msData/particles/particlesZ010.xsd
Thanks,
-Wang Zhuo
________________________________
From: Michael Kay [mailto:mike@saxonica.com]
Sent: 2007年3月8日 16:38
To: Wang, Zhuo; xmlschema-dev@w3.org
Cc: Moog, Thomas H
Subject: RE: question about group circle definition
Could you give the name of the test case please?
Michael Kay
http://www.saxonica.com/
________________________________
From: xmlschema-dev-request@w3.org [mailto:xmlschema-dev-request@w3.org] On Behalf Of Wang, Zhuo
Sent: 08 March 2007 01:31
To: xmlschema-dev@w3.org
Cc: Moog, Thomas H
Subject: question about group circle definition
Hi All,
I meet a case in w3c test suite:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:complexType name="a">
<xsd:sequence>
<xsd:group ref="ul" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:group name="ul">
<xsd:sequence>
<xsd:element name="ul">
<xsd:complexType>
<xsd:sequence>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="li" />
<xsd:group ref="ul" minOccurs="0" maxOccurs="unbounded" />
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:group>
</xsd:schema>
I think this case voilate:
3.8.6 Constraints on Model Group Schema Components
All model groups (see Model Groups (¡ì3.8)) must satisfy the following
constraints.
Schema Component Constraint: Model Group Correct
All of the following must be true:
2 Circular groups are disallowed. That is, within the {particles} of a group
there must not be at any depth a particle whose {term} is the group itself.
However, many schema validators say it is a valid case.
Somebody knows the reason?
Thanks,
- Wang Zhuo
~~~~~~~~~~~~~~~~~~~~~~~~
Intel Asia-Pacific R&D Ltd.
No. 880 ZiXing Road, ZiZhu Science Park,
Shanghai, PRC, 200241
~~~~~~~~~~~~~~~~~~~~~~~~
Received on Thursday, 8 March 2007 10:07:21 UTC