xsd: выбор не связанных элементов - PullRequest
0 голосов
/ 23 марта 2010

У меня есть xml, который поставляется в двух формах

<root>
     <element1 req="mandatory"/>
     <element2/>
     <element3/>
<root>

и

<root>
     <element2/>
     <element3/>
     <element4 req="mandatory"/>
<root>

element1 или elem4 требуется 2 и 3 не являются обязательными. Я просто не могу понять, как использовать XSD: выбор на нем, помогите, спасибо.

1 Ответ

1 голос
/ 23 марта 2010
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="root">
    <xs:complexType>
        <xs:choice>
            <xs:sequence>
                <xs:element name="element1"/>
                <xs:element name="element2" minOccurs="0"/>
                <xs:element name="element3" minOccurs="0"/>
            </xs:sequence>
            <xs:sequence>
                <xs:element name="element2" minOccurs="0"/>
                <xs:element name="element3" minOccurs="0"/>
                <xs:element name="element4"/>
            </xs:sequence>
        </xs:choice>
    </xs:complexType>
</xs:element>

...