- From: Eddie Robertsson <erobertsson@allette.com.au>
- Date: Fri, 30 Aug 2002 10:03:53 +1000
- To: Jeni Tennison <jeni@jenitennison.com>
- CC: xmlschema-dev@w3.org, "Gregory M. Messner" <gmessner@breezefactor.com>
Hi Jeni,
>I agree with your conclusion, but now with how you got to it. A group
>whose {particles} is empty is a group that doesn't specify any
>particles, for example:
>
> <xs:sequence />
>
>or:
>
> <xs:choice />
>
>or:
>
> <xs:all />
>
>A sequence or an all group with no particles, as above, is fine -- it
>just means that it matches an empty sequence of elements in the
>instance. Having a choice between an empty set of particles is
>invalid, on the other hand, because each time you have a choice you
>must choose something, and if you have nothing to choose from then you
>cannot choose anything :)
>
>A model group like:
>
> <xsd:choice>
> <xsd:element name="A" minOccurs="0" type="xsd:string" />
> <xsd:element name="B" minOccurs="0" type="xsd:string" />
> <xsd:element name="C" minOccurs="0" type="xsd:string" />
> </xsd:choice>
>
>is a choice model group that has three element particles. All those
>particles are *optional* (have a minimum occurrence of 0) but the
>model group still has particles. So this is perfectly valid
>(thankfully!).
>
Hmm, yes the above is a perfectly legal schema but was my conclusion
correct that an instance document which is empty for the above content
model would be invalid?
Example:
<xsd:element name="Test">
<xsd:complexType>
<xsd:choice>
<xsd:element name="A" minOccurs="0" type="xsd:string" />
<xsd:element name="B" minOccurs="0" type="xsd:string" />
<xsd:element name="C" minOccurs="0" type="xsd:string" />
</xsd:choice>
</xsd:complexType>
</xsd:element>
Would an instance document that only has:
<Test/>
be valid or invalid?
If this is valid then can you give an example where the above rule that "having a choice between an empty set of particles is invalid" is broken?
Thanks,
/Eddie
>/
>
>Cheers,
>
>Jeni
>
>---
>Jeni Tennison
>http://www.jenitennison.com/
>
>
>
Received on Thursday, 29 August 2002 20:04:46 UTC