0

列挙値に基づいて追加の要素をロード/アンロードできる方法があるかどうかを確認しようとしています。

次の要素タイプがあります。

<xs:element name="requestType" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:enumeration value="FUND" />
            <xs:enumeration value="GENLDGR" />
            <xs:enumeration value="SECDIST" />
            <xs:enumeration value="TRAN" />
        </xs:restriction>
    </xs:simpleType>
</xs:element>

これは、マージしようとしている 4 つの XSD から来ています。それらはすべて、継承を介して参照できる同じ要素を共有しています。それで問題ありません。ただし、FUND は必要かもしれないが、TRAN は必要ない、という要素もありますが、おそらく 3 つまたは 4 つのトップです。

「requestType」のXML値に基づいて、それを使用して、制約できる他の要素を活用し、必要のない要素を無視する方法はありますか?

4

1 に答える 1

0

おそらく、XSD 1.1 の「条件付き型割り当て」と呼ばれる機能を探していると思います。これにより、要素のコンテンツ モデルがその属性の 1 つの値に依存できるようになります。これは、XSD 1.0 の非常に残念な機能です。

XSD 1.1 機能は現在、Saxon と Xerces に実装されています (私が知る限り)。

于 2011-10-04T08:31:41.357 に答える