2016-11-23 57 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

明白了,谢谢 –