是否可以使XSD以元素和属性值为条件,而不是名称?

时间:2014-08-29 21:03:44

标签: xsd

是否可以编写基于条件的xsd。我有我的xsd中定义的国家列表,如果用户选择国家为美国,xsd应该允许用户选择属于上述选择国家的州,否则它应该显示验证错误。下面的例子,完全允许用户为下面的列表选择国家和州,但它不执行任何验证agaist国家。如果您有任何基于xsd编写选择的建议,请告诉我。请注意,我已尝试<xs:choice>,但它不适用于此方案。

<xs:complexType name="header-type">
    <xs:sequence>
        <xs:element name="country" type="country-type" />
        <xs:element name="states" type="state-type" />
    </xs:complextType>
        <xs:simpleType name="country-type">
            <xs:restriction base="xs:string">
                <xs:enumeration value="UNITEDSTATES"></xs:enumeration>
                <xs:enumeration value="AUS"></xs:enumeration>
            </xs:restriction>
        </xs:simpleType>
        <xs:simpleType name="state-type">
            <xs:restriction base="xs:string">
                <xs:enumeration value="California"></xs:enumeration>
                <xs:enumeration value="Sydney"></xs:enumeration>
                <xs:enumeration value="Texas"></xs:enumeration>
        </xs:simpleType>

0 个答案:

没有答案