OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: XML Schema question on inheritance



> Is there an equivalent to the (a | b | c)* content
> group in XML Schema?

Sure,

...
<xsd:complexType>
   <xsd:choice minOccurs="0" maxOccurs="unbounded">
      <xsd:element name="a" type="..."/>
      <xsd:element name="b" type="..."/>
      <xsd:element name="c" type="..."/>
   </xsd:choice>
</xsd:complexType>
...

Cheers,
/Eddie

>
> Thanks
> Jim Williams
>
> > I don't believe this is valid according to the restriction imposed on the
> > <xsd:all> group. I haven't found the relevant sections in the Structure
> > spec [1] but the Primer says [2]:
> >
> > "When a complex type is derived by extension, its effective content model
> > is the content model of the base type plus the content model specified in
> > the type derivation. Furthermore, the two content models are treated as
> > two children of a sequential group."
> >
> > This means that the above derivation can be written as a single content
> > model:
> >
> > <complexType name="parentType">
> >    <sequence>
> >       <all>
> >          <element name="x" type="string"/>
> >          <element name="y" type="string"/>
> >       </all>
> >       <all>
> >          <element name="z" type="string"/>
> >       </all>
> >    </sequence>
> > </complexType>
> >
> > According to the constraints imposed on the all group (must be the sole
> > child at the top of a content model) this is illegal and that would mean
> > that the all group cannot be used in a type derivation by extension.
> >
> > Cheers,
> > /Eddie
> >
> > [1] http://www.w3.org/TR/xmlschema-1
> > [2] http://www.w3.org/TR/xmlschema-0/#DerivExt
> >