Einschränkung der dynamischen Aufzählung mit XSD 1.1

Ich versuche, eine Schemadefinition mit XSD 1.1 zu erstellen, bei der das Ergebnis eines Elements von einem anderen abhängt. Zum Beispiel habe ich Dropdown-Liste für Länder und Liste der Staaten für jedes Land. Wenn eine Person ein Land auswählt, können nur die Bundesstaaten dieses Landes ausgewählt werden. Der Pseudocode dessen, was ich erreichen möchte, sieht ungefähr so ​​aus.

<xs:schema xmlns:ie="http://www.interviewexchange.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="country">       
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:enumeration value="USA" />
            <xs:enumeration value="UK" />
            <xs:enumeration value="India" />
        </xs:restriction>
    </xs:simpleType>
</xs:element>
<xs:element name="state">       
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <assert test="if (country eq 'USA')">
            <xs:enumeration value="MA" />
            <xs:enumeration value="AR" />
            <xs:enumeration value="NY" />
            </assert">
            <assert test="if (country eq 'India')">
            <xs:enumeration value="AP" />
            <xs:enumeration value="TN" />
            <xs:enumeration value="MP" />
            </assert">
        </xs:restriction>
    </xs:simpleType>
</xs:element>

Bitte schlagen Sie mir vor, ob ich dem richtigen Ansatz folge. Wenn ich dem richtigen Ansatz folge, kann mir jemand den Code geben, wie diese Einschränkung erreicht werden kann? Danke im Voraus...

Antworten auf die Frage(1)

Ihre Antwort auf die Frage