Представлять ИЛИ в XSD - PullRequest
5 голосов
/ 10 июня 2011

Мне нужно

(firstName and lastName) OR (nameForDisplay)

в XSD.Я могу получить XOR, если использую <xs:choice>, но не могу получить ИЛИ.

Ответы [ 2 ]

4 голосов
/ 10 июня 2011
<choice>
  <sequence>
    <element name="firstName" />
    <element name="lastName" />
    <element name="nameForDisplay" minOccurs="0" />
  </sequence>
  <element name="nameForDisplay" />
</choice>

Ужасно иметь повторение, я знаю. Вы можете выделить некоторые повторения с группами.

0 голосов
/ 15 июня 2011

Вот альтернатива:

<choice>
   <element name="Name" type="xs:complexType">
      <sequence>
         <element name="firstName" type="xs:String"/>
         <element name="lastName" type="xs:String"/>
      </sequence>
   </element>
   <element name="nameForDisplay" type="xs:String"/>
</choice>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...