XSD架构验证约束

时间:2014-08-04 05:01:43

标签: xml xsd constraints unique xsd-validation

有一个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>

1 个答案:

答案 0 :(得分:1)

当人们想要在XSD中表达复杂约束时,答案往往是你可以在XSD 1.1中使用断言,而不是在XSD 1.0中。