如何将4个类似的XSD合并为一个?

时间:2011-10-03 21:19:00

标签: xml string enumeration choice

我正在尝试查看是否可以根据枚举值加载/卸载其他元素。

我有以下元素类型:

<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值来实现,我可以利用它来利用我可以约束的其他元素并忽略那些我不需要的元素?

1 个答案:

答案 0 :(得分:0)

我认为您可能正在寻找XSD 1.1中称为“条件类型分配”的功能,它允许元素的内容模型依赖于其某个属性的值。这是XSD 1.0无法解决的问题。

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