带有异常的范围之间的XML限制数

时间:2013-07-11 09:02:37

标签: xml xsd schema

我想说的是:

<xs:simpleType name="AYE">
        <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="32768"/>
            <xs:maxInclusive value="65535"/>
                    <!-- Or, for instances, 5, 15, 20 or 245 -->
        </xs:restriction>
 </xs:simpleType>

是否可以定义一个simpleType来限制范围[a,b]之间的数字,但也允许一些预定义的数字小于?

1 个答案:

答案 0 :(得分:4)

尝试以下

    <xs:simpleType name="exceptions">
        <xs:restriction base="xs:unsignedShort">
            <xs:enumeration value="5" />
            <xs:enumeration value="15" />
            <xs:enumeration value="20" />
            <xs:enumeration value="245" />
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="range">
        <xs:restriction base="xs:unsignedShort">
            <xs:minInclusive value="32768"/>
            <xs:maxInclusive value="65535"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="AYE">
        <xs:union memberTypes="range exceptions" />
     </xs:simpleType>