私の要件は次のようなものです:要素「用語」とその属性をtermType、ValueName、Valueとして持つxmlを検証する必要があります。termType属性値を「expression」として取得する場合、ValueName は IF、ELSE、または THEN のみにする必要があり、valueName値が「IF」の場合は値を「1」にするように、termType に制限を追加する必要があります。それだけ。どうすればこれを達成できますか?
xml は次のようになります。
<Term termType="Input" value="97397D89-C044-47CC-8153-267CBBE71D29" valueName="PolicyType"/>
**<Term termType="expression" value="1" valueName="IF"/>**
<Term termType="mask" value="" valueName=""/>
私が試した対応するXSDは次のとおりです。
<xs:simpleType name="termType">
<xs:restriction base="xs:string">
<xs:enumeration value="expression" />...
</xs:restriction>
</xs:simpleType>
<xs:complexType name="TermType">
<xs:attribute name="termType" use="required" type="termType" />
<xs:attribute name="value" use="required" type="xs:string" />
<xs:attribute name="valueName" use="required" type="xs:string" />
</xs:complexType>