- From: <zongaro@ca.ibm.com>
- Date: Thu, 17 May 2001 07:54:48 -0400
- To: "Martin Gudgin" <marting@develop.com>
- Cc: <www-xml-schema-comments@w3.org>
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