RE: inquiry into the <choice> element behavior

Michael,

Thanks for your prompt response.  If you could be so kind to help me 
understand the result when the maxOccurs exists at both the choice and 
the nested elements, it would be greatly appreciated.

Scenario 1:

<xs:choice maxOccurs="1">
     <xs:element name="foo" type="xs:string" maxOccurs="unbounded"/>
     <xs:element name="bar" type="xs:string" maxOccurs="unbounded"/>
</xs:choice>

Is it correct to interpret this as: only one of either "foo" or "bar" 
allowed, with the implication that the "maxOccurs" attributes in the 
nested elements are essentially limited to 1 by the parent's 
"maxOccurrs" attribute?

Scenario 2:

<xs:choice maxOccurs="unbounded">
     <xs:element name="foo" type="xs:string" maxOccurs="unbounded"/>
     <xs:element name="bar" type="xs:string" maxOccurs="unbounded"/>
</xs:choice>

This would allow any number of both "foo" *and* "bar" elements, right? 
Does this contradict the purpose of the choice element to begin with, or 
am I just misunderstanding the function of the choice element?  In other 
words, how is scenario 2 different than just having the elements on 
their own, without the choice element?

Thanks,

Alex

Received on Friday, 31 October 2008 14:54:56 UTC