[Home] [By Thread] [By Date] [Recent Entries]
On 15/12/2011 14:56, Jirka Kosek wrote:
> Hi,
>
> I have came across interesting problem in XSD. Assume the following
> snippet of XML schema:
>
> <xs:complexType name="foo">
> <xs:sequence>
> ...
> <xs:choice>
> <xs:element name="a" minOccurs="0"/>
> <xs:element name="b" minOccurs="0"/>
> </xs:choice>
> ...
> </xs:sequence>
> </xs:complexType>
>
> I have tried several validator and none of them reports error witch such
> schema. However in section "3.8.4 Model Group Validation Rules" in XML
> Schema Part 1 there is written:
>
> "Nothing in the above should be understood as ruling out groups whose
> {particles} is empty: *although no sequence can be ·valid· with respect
> to such a group whose {compositor} is choice*, the empty sequence is
> ·valid· with respect to empty groups whose {compositor} is sequence or all."
That's saying you can write
<xs:choice minOccurs="1"/>
meaning there's a menu of options to choose from, and you've got to
choose something, but the list of options to choose from is empty; so
nothing can be valid against the choice.
Or to put it another way, it's like having a condition nextElement =
oneOf(a,b,c) where the list a,b,c is empty and the condition is
therefore always false.
>
> Should this be understood as that above fragment of XSD is incorrect? In your fragment, the list of particles inside the choice is not empty.
No.
Michael Kay
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |

Cart



