既存の 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>
<xs:sequence>
<xs:element ref="filter"
minOccurs="0"
maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="FieldName"
type="FieldNameType" />
</xs:complexType>
</xs:element>
...
RequestType : R1 と R2 の 2 つの値の列挙
FieldNameType : F1 と F2 の 2 つの値の列挙
ここで、この XSD を変更して、次の検証を提供したいと考えています。
- RequestType = R1 の場合、許可されるフィールド名は F1 と F2 です
- Request Type = R2 の場合、許可されるフィールド名は F1、F3、および F4 です。(新しい列挙が必要な場合があります)
そのような検証を追加するにはどうすればよいですか? ありがとう。