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/
=============================================