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:00:41 UTC