是否可以编写基于条件的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>