在XSD中表示OR

时间:2011-06-10 03:59:24

标签: java xml xsd

我需要

(firstName and lastName) OR (nameForDisplay)
在XSD中

。如果我使用<xs:choice>,我可以获得XOR,但我似乎无法获得OR。

2 个答案:

答案 0 :(得分:4)

<choice>
  <sequence>
    <element name="firstName" />
    <element name="lastName" />
    <element name="nameForDisplay" minOccurs="0" />
  </sequence>
  <element name="nameForDisplay" />
</choice>
我知道,重复是丑陋的。你可以用组来分解一些重复。

答案 1 :(得分:0)

这是另一种选择:

<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>