Ograniczenie wyliczania dynamicznego za pomocą XSD 1.1

Próbuję utworzyć definicję schematu przy użyciu XSD 1.1, w którym wynik jednego elementu zależy od innych. Na przykład mam listę rozwijaną dla listy krajów i listę stanów dla każdego kraju. Kiedy osoba wybiera kraj, można wybrać tylko stany tego kraju. Pseudokod tego, co próbuję osiągnąć, wygląda mniej więcej tak.

<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>

Proszę zasugerować, czy podążam za właściwym podejściem. Jeśli postępuję zgodnie z właściwym podejściem, czy ktoś może mi podać kod, w jaki sposób można osiągnąć to ograniczenie? Z góry dziękuję...

questionAnswers(1)

yourAnswerToTheQuestion