针对其他元素属性的属性值的XSD验证

时间:2011-08-09 10:46:35

标签: xml xsd xml-validation

我有一个XML文件:

<tasks>
    <task name="task-12">
        <step>Open folder</step>
        <step nextTask="task-14">Delete contents.</step>
    </task>
    <task name="task-13">
        <step nextTask="task-16">Create new folder folder</step>
    </task>
    <task name="task-14">
        <step>Move files into folder.</step>
    </task>
</tasks>

如何在XSD中指定step/@nextTask值仅在与task/@name的值匹配时才有效。

即。在上面的示例中,任务-13 的步骤将被视为无效?

1 个答案:

答案 0 :(得分:0)

最简单的方法:将任务name属性声明为xsd:ID类型,将步骤nextTask属性声明为xsd:IDREF类型。