簡體   English   中英

如何根據XSD1.0中另一個標簽的值使標簽為必需標簽或可選標簽

[英]How to make a tag Mandatory or optional based on value of another tag in XSD1.0

我目前有以下XSD。

 <xsd:element name="ProcessingCode" minOccurs="0" maxOccurs="1">
          <xsd:simpleType>
            <xsd:restriction base="xsd:string">
              <xsd:enumeration value="000000" />
            </xsd:restriction>
          </xsd:simpleType>
        </xsd:element>
<xsd:element name="CardExpirationDate" minOccurs="0" maxOccurs="1">
          <xsd:simpleType>
            <xsd:restriction base="xsd:integer">
              <xsd:pattern value="\d{4}" />
            </xsd:restriction>
          </xsd:simpleType>
        </xsd:element>

現在,僅當ProcessingCode值為999999時,才需要將CardExpirationDate設置為強制,否則將其保留為可選。 好心提醒。

斷言是一種XSD 1.1機制,因此,您的文章的原始標題談論在XSD 1.0中使用斷言沒有多大意義。

如果要在XSD 1.1中進行這樣的聲明,那么該聲明將繼續存在於ProcessingCode和CardExpirationDate的共同祖先元素上。 如果我們假設這些是同級元素,則公共父元素將有一個斷言,例如

<xs:assert test="ProcessingCode != '999999' or exists(CardExpirationDate)"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM