On 2 Mar, 19:49, Boris Kolpackov wrote:
> "ANoobee" writes:
> > > What is the best approach to force atleast one of a few optional
> > > elements required in an XSD?
> > > This is what I'm tring to do:
>
> > > <email>
> > > <to>
> > > <cc>
> > > <bcc>
> > > </email>
>
> > > where to, cc and bcc are optional but email should contain atleast one
> > > of them.
>
> > Additional information...
> > The order in which the to, cc and bcc occur does not matter and each
> > of them will be un-bounded.
>
> You can use sequence of choice's for that:
>
> <complexType name="email">
> <sequence maxOccurs="unbounded">
> <choice>
> <element name="to" type="string"/>
> <element name="cc" type="string"/>
> <element name="bcc" type="string"/>
> </choice>
> </sequence>
> </complexType>
Or even:
<complexType name="email">
<choice maxOccurs="unbounded">
<element name="to" type="string"/>
<element name="cc" type="string"/>
<element name="bcc" type="string"/>
</choice>
</complexType>
Pete.
--
=============================================
Pete Cordell
Tech-Know-Ware Ltd
for XML to C++ data binding visit
http://www.tech-know-ware.com/lmx/
http://www.codalogic.com/lmx/
=============================================