基于属性值更改的架构

时间:2013-09-19 17:40:22

标签: xml xsd dtd

我希望能够在父元素设置了特定属性值时更改父元素的预期子元素。

以下内容将验证:

<Parent childConfig="A">
    <Child validForConfigA="ABC"/>
</Parent>

或:

<Parent childConfig="B">
    <Child validForConfigB="XYZ"/>
</Parent>

但是这个代码段不会验证(因为当父亲的childConfig =“A”时,属性“validForConfigB”无效):

<Parent childConfig="A">
    <Child validForConfigB="ABC"/>
</Parent>

这种逻辑可以在DTD或XSD中工作吗?

1 个答案:

答案 0 :(得分:1)

不使用DTD,但使用XML Schema 1.1验证程序,您应该可以使用type alternatives