RE: <xsd:sequence> required?

Hi Mark,

It would be the second one.  All the elements in the base choice group would
have to appear before all the elements in the extended choice group.  

When extending choice groups, I use substitution groups instead.  Of course,
that requires that the element declarations are global.

Hope that helps,
Priscilla

------------------------------------------------------------------
Priscilla Walmsley                          priscilla@walmsley.com
Vitria Technology                            http://www.vitria.com
Author, Definitive XML Schema                  (Prentice Hall PTR)
------------------------------------------------------------------

> -----Original Message-----
> From: xmlschema-dev-request@w3.org
> [mailto:xmlschema-dev-request@w3.org]On Behalf Of Mark Feblowitz
> Sent: Tuesday, February 12, 2002 9:40 AM
> To: 'Eddie Robertsson'; xmlschema-dev@w3.org
> Cc: xmlschema-dev@w3.org
> Subject: RE: <xsd:sequence> required?
> 
> 
> I've asked this before, but don't recall seeing an answer:
> 
> Is the design pattern of an unbounded choice extensible? 
> 
> If I extend a type that contains an unbounded choice element 
> and specify
> that the extended type also contains an unbounded choice 
> element, would the
> behavior be 
> 
> 1) a full combination of the two sets of elements, appearing 
> in any order,
> or
> 
> 2) two separate choice subsets with elements in each subset 
> appearing in any
> order
> 
> 
> Extensibility of this pattern could be an important design criterion.
> 
> Thanks,
> 
> Mark
> 
> 
> --------------------------------------------------------------
> --------------
> ----
>  
> Mark Feblowitz                                   [t] 617.715.7231
> Frictionless Commerce Incorporated     [f] 617.495.0188 
> XML Architect                                     [e]
> mfeblowitz@frictionless.com
> 400 Technology Square, 9th Floor 
> Cambridge, MA 02139 
> www.frictionless.com  
>  
> 
>  -----Original Message-----
> From: 	Eddie Robertsson [mailto:erobertsson@allette.com.au] 
> Sent:	Monday, February 11, 2002 7:01 AM
> To:	xmlschema-dev@w3.org
> Cc:	xmlschema-dev@w3.org
> Subject:	Re: <xsd:sequence> required?
> 
> > What I want to be able to say with the following piece of 
> code is that
> > one can use the mentioned elements any number of times and 
> in any order.
> >
> >    <xsd:complexType name="ModelType">
> >      <xsd:element ref="cellml:units" minOccurs="0
> > maxOccurs="unbounded"/>
> >      <xsd:element ref="cellml:component" minOccurs="0"
> >        maxOccurs="unbounded" />
> >      <xsd:element ref="cellml:group" minOccurs="0"
> >        maxOccurs="unbounded"/>
> >      <xsd:element ref="cellml:connection" minOccurs="0"
> >        maxOccurs="unbounded" />
> >      <xsd:element ref="rdf:RDF" minOccurs="0" 
> maxOccurs="unbounded" />
> >      <xsd:attribute ref="cellml:name" use="required" />
> >      <xsd:attribute ref="cmeta:id" use="optional" />
> >    </xsd:complexType>
> >
> > Since the children elements can be in any order, the <xsd:sequence>
> > element is not useful.  Neither are the <xsd:choice> and 
> <xsd:all>.  Is
> > it necessary that I use one of them in this case?
> 
> Yes, you always need to have one of sequence, all or choice 
> specified. Since
> you want all elements to appear any number of times and in 
> any order you can
> add minOccurs="0" and maxOccurs="unbounded" to the choice 
> element itself.
> So, you would have:
> 
>    <xsd:complexType name="ModelType">
>     <xsd:choice minOccurs="0" maxOccurs="unbounded">
>      <xsd:element ref="cellml:units" minOccurs="0
> maxOccurs="unbounded"/>
>      <xsd:element ref="cellml:component" minOccurs="0"
>        maxOccurs="unbounded" />
>      <xsd:element ref="cellml:group" minOccurs="0"
>        maxOccurs="unbounded"/>
>      <xsd:element ref="cellml:connection" minOccurs="0"
>        maxOccurs="unbounded" />
>      <xsd:element ref="rdf:RDF" minOccurs="0" maxOccurs="unbounded" />
>     </xsd:choice>
>     <xsd:attribute ref="cellml:name" use="required" />
>     <xsd:attribute ref="cmeta:id" use="optional" />
>    </xsd:complexType>
> 
> Cheers,
> /Eddie
> 
> 

Received on Tuesday, 12 February 2002 15:57:35 UTC