Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


RE: inquiry into the element behavior

From: "Den Tandt, Andy" <AndyDT@-------.--->
To: "Alex Porras" <alex.porras@---.----------.--->
Date: 11/3/2008 9:36:00 AM
In Scenario 1, you are allowed to make a single choice, either choose an
unbounded number of foo (but minimum 1 - the default minOccurs) or
alternatively choose an unbounded number of bar
Your interpretation is incorrect: the maxOccurs attribute does not
override the other one.
Possible sequences: f fff ffffff b bb bbbb
Not possible: fb, empty sequence, fffbbbff

In scenario 2, you are allowed to make an unbounded number of choices
(but minimum 1), each one either choosing the unbounded number of foo or
an unbounded number of bar.
Possible sequences: f fff ffffff b bb bbbb fb fffbbbbbbffb
Not possible: empty sequence

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

You are allowed to make an unbounded number of choices (but minimum 1),
each one either choosing a single foo or a single bar.
The possible sequences are exactly the same as in scenario 2.

Scenario 4: 
<xs:choice maxOccurs="1">
     <xs:element name="foo" type="xs:string" maxOccurs="1"/>
     <xs:element name="bar" type="xs:string" maxOccurs="1"/> 
</xs:choice>
You are allowed to make a single choice, either choose a single foo or
alternatively choose a single bar
Possible sequences: f b 
Not possible: empty sequence ff bb fb

> In other words, how is scenario 2 different 
> than just having the elements on their own, without the 
> choice element?
I don't understand what you mean with 'on their own'.

Kind regards,

Andy Den Tandt

============================================
Andy Den Tandt
Product Manager
Enfocus, an EskoArtwork company
 
Tel: +32 9 216 98 27 - Fax: +32 9 216 98 54 EskoArtwork NV,
Kortrijksesteenweg 1095
BE-9051 Gent, Belgium
andydt@e... - www.enfocus.com
 

> -----Original Message-----
> From: xmlschema-dev-request@w... 
> [mailto:xmlschema-dev-request@w...] On Behalf Of Alex Porras
> Sent: Friday, October 31, 2008 3:29 PM
> To: xmlschema-dev@w...
> Subject: 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
> 
> 
> 




transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent