question about "all"

"Schema Component Constraint:  All Group Limited" states:

   When a model group has {compositor} "all" all of the following must
   be true:
     1 one of the following must be true:
       1.1 It appears as the model group of a model group definition.
       1.2 It appears in a particle with {min occurs}={max occurs}=1,
           and that particle must be part of a pair which constitutes
           the {content type} of a complex type definition.
     2 The {max occurs} of all the particles in the {particles} of the
       group must be 0 or 1.

Consider the following named model group and complex type definitions:

<xsd:group name="allGrp">
  <xsd:all>
    <xsd:element name="a"/>
    <xsd:element name="b"/>
  </xsd:all>
</xsd:group>

<xsd:complexType name="t1">
  <xsd:sequence>
    <xsd:element name="c"/>
    <xsd:group ref="allGrp"/>
  </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="t2">
  <xsd:sequence>
    <xsd:group ref="allGrp"/>
  </xsd:sequence>
</xsd:complexType>


I believe it was intended that "t1" be considered invalid, but it contains
a model group which I *think* satisfies constraint 1.1 above (although it
violates constraint 1.2).    Is "t1" invalid?    If so, are there other
constraints in Structures which support this?   Do we need a clarification
for the "All Group Limited" constraint?    Is the same true for "t2"?

Thx,
Lisa.

Received on Tuesday, 5 February 2002 20:32:30 UTC