xml中混合mininclusion和枚举

xml中混合mininclusion和枚举,xml,xsd,Xml,Xsd,我有一个xml元素,其值范围(本质上)为1-20,因此我可以使用: minInclusive=1和maxInclusive=20来限制内部设置 <xs:restriction base="xs:integer"> <xs:minInclusive value="1"/> <xs:maxInclusive value="20"/> </xs:restriction> 但是,我还希望能够设置一个具有特定含义的外部值-4:«未知» 这可

我有一个xml元素,其值范围(本质上)为1-20,因此我可以使用:
minInclusive=1
maxInclusive=20
来限制内部设置

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

但是,我还希望能够设置一个具有特定含义的外部值-4:«未知»

这可能吗?即:1-20和-4(不是-4-20)

我想我可能可以通过添加枚举值=-4来逃脱,但这似乎不起作用

<xs:restriction base="xs:integer">
   <xs:enumeration value="-4"/>
   <xs:minInclusive value="1"/>
   <xs:maxInclusive value="20"/>
</xs:restriction>

我认为您需要的是一个,它将允许您将两个限制类型连接在一起,例如

<xs:simpleType name="numbersOnetoTwenty">
  <xs:restriction base="xs:integer">
     <xs:minInclusive value="1"/>
     <xs:maxInclusive value="20"/>
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="justMinusFour">
  <xs:restriction base="xs:integer">
     <xs:enumeration value="-4"/>
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="mySet">
  <xs:union memberTypes="numbersOnetoTwenty justMinusFour" />
</xs:simpleType>

谢谢斯图尔特,在做了更多的研究之后,这似乎是一条路要走。(如果您对XML规范有足够的控制权——并非总是如此)。