当其他元素具有特定值时的强制元素

时间:2016-09-27 06:55:57

标签: xml xsd

我正在制作一个xsd,我想知道,我能否让一个特定元素必须基于不同元素的值? 例如,我有以下内容:

<xs:element name="Type" minOccurs="1">
    <xs:simpleType>
      <xs:restriction base="xs:string">
          <xs:enumeration value="01"/>
          <xs:enumeration value="02"/>
          <xs:enumeration value="03"/>
      </xs:restriction>
    </xs:simpleType>
</xs:element>
<xs:element name="Value01" type="xs:string" minOccurs="?"/>
<xs:element name="Value02" type="xs:string" minOccurs="?"/>

因此,如果Type的值为01,则Value01是必需的,禁止使用Value02, 如果type的值为02,则Value02为必填项,禁止使用Value01 如果type为03,则禁止两者。

这有可能不复杂吗?

提前致谢, 托马斯

1 个答案:

答案 0 :(得分:0)

可以在XSD 1.1(使用xsd:assert)中完成,但不能在XSD 1.0中完成。