有一个xml结构如下
在XSD中是否可以阻止“dataRef”元素引用它的父“data / dataRef”属性值(基本上是子节点不能匹配父节点值约束)。 是否有可能使双向关系成为必需的,如“AAAA”的“order / item”中所示,其中引用了“AEAR”“data”元素,但该元素没有引用“data”的“AAAA”数据项“AAAA”
<data dataRef="AAAA">
<order>
<!-- this should not be allowed to reference its own parent element -->
<item>
<dataRef>AAAA</dataRef>
</item>
<item>
<dataRef>BASA</dataRef>
</item>
<item>
<dataRef>AEAR</dataRef>
</item>
</order>
</data>
<data dataRef="AEAR">
<order>
<!-- since this is referenced from data/@dataRef="AAAA" there should be an element pointing back to "dataRef" "AAAA" as it is a two way relationship -->
<item>
<dataRef>BASA</dataRef>
</item>
</order>
</data>
答案 0 :(得分:1)
当人们想要在XSD中表达复杂约束时,答案往往是你可以在XSD 1.1中使用断言,而不是在XSD 1.0中。