2
的價值
考慮這個XSD:限制屬性值取決於另一個屬性
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Test">
<xs:complexType>
<xs:attribute name="X">
<xs:simpleType>
<xs:restriction>
<xs:enumeration value="One"/>
<xs:enumeration value="Two"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Y">
<xs:simpleType>
<!-- Choose how to restrict the value based on the value of the X attribute. -->
<xs:restriction base="if X=One then List1 else List2"/>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:simpleType name="List1">
<xs:restriction base="xs:string">
<xs:enumeration value="Option1"/>
<xs:enumeration value="Option2"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="List2">
<xs:restriction base="xs:string">
<xs:enumeration value="Option3"/>
<xs:enumeration value="Option4"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
所以對於屬性Test/@Y
,我想限制的基礎上Test/@X
值的可能值。如果X
是One
,則Y
必須在List1
,否則,Y
必須在List2
。這可能嗎?
感謝您的鏈接,這是因爲很難把它放在簡單的單詞中,所以對Google很難。現在我知道共現是我需要的查詢。 – 2012-07-31 15:48:24