So fügen Sie eine bedingte Validierung in XSD hinzu:
Vorhandenes XSD-Snippet:
<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: Aufzählung von 2 Werten R1 und R2
FieldNameType: Aufzählung von 2 Werten F1 und F2
Jetzt möchte ich diese XSD ändern, um eine Validierung bereitzustellen, die:
Wenn RequestType = R1 ist, lauten die Namen der zulässigen Felder F1 und F2Wenn Anfragetyp = R2, dann sind die Feldnamen F1, F3 und F4 zulässig. (Möglicherweise ist eine neue Aufzählung erforderlich)Wie kann ich solche Validierungen hinzufügen? Vielen Dank.