K
Kenneth Love
Sorry if this is a newbie question. I couldn't get the correct magic
incantation for Google to get an answer. :-(
I'm trying to satisfy a requirement that "at least one of the following
*must* be present" in an XML Schema. I have come up with two examples
that almost work.
Here's the first:
<xs:element name="LightExample1" maxOccurs="3">
<xs:complexType>
<xs:choice>
<xs:element name="A"/>
<xs:element name="B"/>
<xs:element name="C"/>
</xs:choice>
</xs:complexType>
</xs:element>
This doesn't work because it allows multiple A, B, or C elements.
Here's the second example:
<xs:element name="LightExample2">
<xs:complexType>
<xs:sequence>
<xs:element name="A" minOccurs="0"/>
<xs:element name="B" minOccurs="0"/>
<xs:element name="C" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
This *almost* works. The only problem is that it allows an empty
<LightExample2/> element which fails the "at least one of" portion of
the requirement.
Is it possible to do this?
Kenneth
incantation for Google to get an answer. :-(
I'm trying to satisfy a requirement that "at least one of the following
*must* be present" in an XML Schema. I have come up with two examples
that almost work.
Here's the first:
<xs:element name="LightExample1" maxOccurs="3">
<xs:complexType>
<xs:choice>
<xs:element name="A"/>
<xs:element name="B"/>
<xs:element name="C"/>
</xs:choice>
</xs:complexType>
</xs:element>
This doesn't work because it allows multiple A, B, or C elements.
Here's the second example:
<xs:element name="LightExample2">
<xs:complexType>
<xs:sequence>
<xs:element name="A" minOccurs="0"/>
<xs:element name="B" minOccurs="0"/>
<xs:element name="C" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
This *almost* works. The only problem is that it allows an empty
<LightExample2/> element which fails the "at least one of" portion of
the requirement.
Is it possible to do this?
Kenneth