Como adicionar validação condicional no XSD:

Snippet XSD existente:

<xs:element name="searchcriteria">
   <xs:complexType>
     <xs:sequence>  
       <xs:element ref="filter" 
                   minOccurs="0" 
                   maxOccurs="unbounded" />
     </xs:sequence>
     <xs:attribute name="Request" 
                   type="RequestType" />
   </xs:complexType>
 </xs:element>  


<xs:element name="filter">
   <xs:complexType>
     <xs:sequence>
       <xs:element ref="filter" 
                   minOccurs="0" 
                   maxOccurs="unbounded" />
     </xs:sequence>
     <xs:attribute name="FieldName" 
                   type="FieldNameType" />
    </xs:complexType>
 </xs:element>

...

RequestType: Enumeração de 2 valores R1 e R2

FieldNameType: Enumeração de 2 valores F1 e F2

Agora eu quero modificar este XSD para fornecer uma validação que:

Quando RequestType = R1, os nomes dos campos permitidos são F1 e F2Quando Request Type = R2, então os nomes dos campos permitidos são F1, F3 e F4. (Pode ser uma nova enumeração é necessária)

Como posso adicionar essas validações? Obrigado.

questionAnswers(1)

yourAnswerToTheQuestion