XSD子元素基于父属性名称可选/必需

时间:2012-07-26 02:41:01

标签: xml xsd

我正在研究XSD验证代码,我正在试图弄清楚如何验证具有

的XML文件
<root>
    <elementA attribute1=ID>
    ...
    </elementA>
    <elementA attribute2=ID>
    ...
    </elementA>
</root>

我想在XSD中根据属性名称验证相同的元素,并在attribute1需要的时候使attribute2的某些子元素成为可选项。

请注意,“...”是相同的元素,其中某些字段对于attribute1是可选的。

1 个答案:

答案 0 :(得分:2)

在XSD 1.0中,元素的类型只能依赖于元素名称,而不依赖于其属性。 XSD 1.1使用名为“条件类型分配”的工具删除了此限制。 XSD 1.1目前仅在Xerces和Saxon中实现。