Cómo agregar validación condicional en XSD:

Fragmento 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: Enumeración de 2 valores R1 y R2

FieldNameType: Enumeración de 2 valores F1 y F2

Ahora quiero modificar este XSD para proporcionar una validación que:

Cuando RequestType = R1, los nombres de los campos permitidos son F1 y F2Cuando el tipo de solicitud = R2, los nombres de los campos permitidos son F1, F3 y F4. (Puede ser necesaria una nueva enumeración)

¿Cómo puedo agregar tales validaciones? Gracias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta