XSD - XNOR гейт из 2-х узлов - PullRequest
0 голосов
/ 22 мая 2019

Я пытаюсь создать XSD, который проверяет XML только в том случае, если оба узла A и B существуют или оба не существуют (шлюз XNOR).

Однако я проверил Интернет без какой-либо удачи.

<root>
   <A>a</A>
   <B>b</B>
   <C>c</C>
</root>

1 Ответ

0 голосов
/ 23 мая 2019

Я нашел решение:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root" type="root"/>
<xs:complexType name="root">
    <xs:sequence>
        <xs:choice>
            <xs:sequence>
                <xs:element name="a" type="xs:string" />
                <xs:element name="b" type="xs:string" />
            </xs:sequence>
            <xs:sequence></xs:sequence>
        </xs:choice>
        <xs:element name="c" type="xs:string" />
    </xs:sequence>
</xs:complexType>

...