【问题标题】:Represent OR in XSD在 XSD 中表示 OR
【发布时间】:2011-06-10 03:59:23
【问题描述】:

我需要

(firstName and lastName) OR (nameForDisplay)

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

【问题讨论】:

    标签: java xml xsd


    【解决方案1】:
    <choice>
      <sequence>
        <element name="firstName" />
        <element name="lastName" />
        <element name="nameForDisplay" minOccurs="0" />
      </sequence>
      <element name="nameForDisplay" />
    </choice>
    

    重复很难看,我知道。您可以在组中排除一些重复。

    【讨论】:

      【解决方案2】:

      这里有一个替代方案:

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

      【讨论】:

      • 这不需要&lt;Name&gt; 元素作为&lt;firstName&gt;&lt;lastName&gt; 的父元素吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多