Either-Or elements

Using a DTD, I can specify that the something element can only have foo or 
bar, but not both with this: <!ELEMENT something ((foo|bar)*)>

In an XSD, I would have this:

<?xml version="1.0"?>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<xsd:element name="something" type="somethingType" />

<xsd:complexType name="somethingType">
        <xsd:sequence>
                <xsd:element name="foo" minOccurs="1" maxOccurs="1" />
                <xsd:element name="bar" minOccurs="1" maxOccurs="1" />
        </xsd:sequence>
</xsd:complexType>

How would I specify that the user has to have the foo or bar element, but 
not both? Currently, this XSD seems to require that you have exactly one 
foo and one bar in your instance document.

Thanks,

Robert

Received on Tuesday, 22 March 2005 04:57:24 UTC