Как добавить условную проверку в XSD:

Существующий фрагмент XSD:

<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>
     <x,s:sequence>
       <xs:element ref="filter" 
                   minOccurs="0" 
                   maxOccurs="unbounded" />
     </xs:sequence>
     <xs:attribute name="FieldName" 
                   type="FieldNameType" />
    </xs:complexType>
 </xs:element>

...

RequestType: перечисление 2 значений R1 и R2

FieldNameType: перечисление 2 значений F1 и F2

Теперь я хочу изменить этот XSD, чтобы обеспечить проверку, которая:

Когда RequestType = R1, имена допустимых полей: F1 и F2.Когда Тип запроса = R2, то разрешенными именами полей являются F1, F3 и F4. (Может быть, требуется новый перечень)

Как я могу добавить такие проверки? Благодарю.

Ответы на вопрос(1)

Ваш ответ на вопрос