如果XML模式中的元素存在于一组范围中,如何定义该元素

时间:2012-08-24 09:04:14

标签: xml xsd

如何在XML模式中定义元素,例如

元素A只能存在于1-100 400-450 600-700之间 除了这些范围之外的值必须在验证时被拒绝

感谢您的快速回复 我试过这种方式

<xs:element name="verification">
<xs:simpleType>
<xs:union>

<xs:simpleType>
 <xs:restriction base="xs:integer">
  <xs:minInclusive value="1" />
  <xs:maxInclusive value="100" />
 </xs:restriction>
</xs:simpleType>

<xs:simpleType>
 <xs:restriction base="xs:integer">
  <xs:minInclusive value="200" />
  <xs:maxInclusive value="250" />
 </xs:restriction>
</xs:simpleType>

<xs:simpleType>
 <xs:restriction base="xs:integer">
  <xs:minInclusive value="600" />
  <xs:maxInclusive value="610" />
 </xs:restriction>
</xs:simpleType>


</xs:union>

</xs:simpleType>
</xs:element>

但它没有工作接受像125和500这样的值而且没有显示验证错误

1 个答案:

答案 0 :(得分:1)

为每个值范围定义三个整数1的子类型(使用minInclusive和maxInclusive),然后定义一个类型,它是这三个的并集。