2016-11-23 106 views
1

我需要在我的xsd模式中創建if/else條件。具體模式節點。我如何做到這一點?XSD if-else condition

<s:complexType name="parent"> 
    <s:sequence> 
     <s:element name="elem1" type="s:string"/> 
     <s:element name="elem2"> 
      <s:simpleType> 
       <s:restriction base="s:string"> 
        <s:pattern value="if (elem1 == 3) //todo 
             else //todo"/> 
       </s:restriction> 
      </s:simpleType> 
     </s:element> 
    </s:sequence> 
</s:complexType name="parent"> 

回答

3

不,您不能在xs:pattern/@value內使用if

不,您不能引用xs:pattern/@value中的其他元素。

你可以做什麼:

  • XSD 1.0:重構您的XML的設計和使用的核心內容建模 結構。
  • XSD 1.1:條件類型分配可能會有所幫助。
  • XSD 1.1:斷言可能有幫助。

比更具體的指導,可以只用一個更具體的問題,表明XML應該和不應該是有效的,解釋//todo

+0

明白了,謝謝 –