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 中称为“条件类型分配”的功能,它允许元素的内容模型依赖于其属性之一的值。这是 XSD 1.0 的一大遗憾。

XSD 1.1 功能目前在 Saxon 和 Xerces 中实现(仅据我所知)。

于 2011-10-04T08:31:41.357 回答