Re: All Group Limited

Hi Martin,

     Thank you for pointing out that restriction on model group definition
- I had missed that.  So now the question becomes (as Martin points out):
why is it that 3.8.2 permits minOccurs=0 on an "all" element, but 3.7.2 and
3.8.6 (Schema Component Constraint:  All Group Limited) prohibit the value
from being zero for all uses, and was that what was really intended?

Thanks,

Henry
------------------------------------------------------------------------
Henry Zongaro      XML Parsers development
IBM SWS Toronto Lab   Tie Line 778-6044;  Phone (416) 448-6044
mailto:zongaro@ca.ibm.com


"Martin Gudgin" <marting@develop.com> on 2001/05/16 05:33:32 PM

To:   Henry Zongaro/Toronto/IBM@IBMCA, <www-xml-schema-comments@w3.org>
cc:
Subject:  Re: All Group Limited


The top level compositor of a named model group may *not* have
minOccurs/maxOccurs so your initial example if not valid.

I *thought* we allowed <all> to have minOccurs='0' but it appears that
section 1.2 of 3.8.6 - Schema Component Constraint:  All Group Limited is
at
variance with 3.8.2 :-(

Martin Gudgin
DevelopMentor


----- Original Message -----
From: <zongaro@ca.ibm.com>
To: <www-xml-schema-comments@w3.org>
Sent: Wednesday, May 16, 2001 6:31 PM
Subject: All Group Limited


>
> Hello,
>
>      Section 3.8.6 [1] of "XML Schema Part 1:  Structures" defines The
> "Schema Component Constraint:  All Group Limited".  According to item 1.
of
> that constraint, a model group whose {compositor} is "all" must either
> (1.1) appear as the model group of a model group definition or (1.2)
appear
> in a particle with {min occurs}={max occurs}=1, with additional
> requirements placed on that particle.
>
>      If I'm reading this correctly, it means that an "all" {compositor}
can
> have {min occurs}=0 only if it appears in a model group definition.
That's
> because an "all" schema component corresponds to a particle whose {term}
is
> a model group with {compositor} all - so 1.2 would appear to apply to
that
> particle, and {min occurs} must equal 1.
>
> So, the following fragment would be valid according to the "All Group
> Limited" constraint.
>
>    <xs:group name="gp">
>      <xs:all minOccurs="0">
>        <xs:element ref="a"/>
>        <xs:element ref="b"/>
>      </xs:all>
>    </xs:group>
>
>    <xs:complexType>
>      <xs:group ref="gp"/>
>    </xs:complexType>
>
> But the following fragment would not be valid.
>
>    <xs:complexType>
>      <xs:all minOccurs="0">
>        <xs:element ref="a"/>
>        <xs:element ref="b"/>
>      </xs:all>
>    </xs:complexType>
>
>      Is my interpretation of that constraint correct?  Or was the phrase
> "in a particle" intended only to refer to particles that contain the
> particle corresponding to the "all" schema component, which would mean
that
> my second fragement would be valid, but the following would not be.
>
>    <xs:group name="gp">
>      <xs:all>
>        <xs:element ref="a"/>
>        <xs:element ref="b"/>
>      </xs:all>
>    </xs:group>
>
>    <xs:complexType>
>      <xs:group ref="gp" minOccurs="0"/>
>    </xs:complexType>
>
> Thanks,
>
> Henry
>
> [1] http://www.w3.org/TR/xmlschema-1/#coss-modelGroup
>
> ------------------------------------------------------------------------
> Henry Zongaro      XML Parsers development
> IBM SWS Toronto Lab   Tie Line 778-6044;  Phone (416) 448-6044
> mailto:zongaro@ca.ibm.com
>

Received on Thursday, 17 May 2001 07:53:40 UTC