Restrição de enumeração dinâmica usando o XSD 1.1

Eu estou tentando criar uma definição de esquema usando XSD 1.1 no qual o resultado de um elemento é dependente de outro. Por exemplo, tenho uma lista suspensa de países e uma lista de estados para cada país. Quando uma pessoa seleciona um país, somente os estados desse país podem ser selecionados. O pseudocódigo do que estou tentando atingir é algo assim.

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

Por favor, sugira-me se estou seguindo a abordagem correta. Se estou seguindo a abordagem correta, alguém pode me dar o código de como essa restrição pode ser alcançada? Desde já, obrigado...

questionAnswers(1)

yourAnswerToTheQuestion