【发布时间】:2011-06-10 03:59:23
【问题描述】:
我需要
(firstName and lastName) OR (nameForDisplay)
在 XSD 中。如果我使用<xs:choice>,我可以获得 XOR,但我似乎无法获得 OR。
【问题讨论】:
我需要
(firstName and lastName) OR (nameForDisplay)
在 XSD 中。如果我使用<xs:choice>,我可以获得 XOR,但我似乎无法获得 OR。
【问题讨论】:
<choice>
<sequence>
<element name="firstName" />
<element name="lastName" />
<element name="nameForDisplay" minOccurs="0" />
</sequence>
<element name="nameForDisplay" />
</choice>
重复很难看,我知道。您可以在组中排除一些重复。
【讨论】:
这里有一个替代方案:
<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>
【讨论】:
<Name> 元素作为<firstName> 和<lastName> 的父元素吗?