根据其他元素属性对属性值进行 XSD 验证

发布于 2024-11-28 18:47:54 字数 613 浏览 1 评论 0原文

我有一个 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 的值匹配时才有效。

即在上面的例子中,task-13的步骤会被认为是无效的?

I have an XML file:

<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>

How would I go about specifying in an XSD that the step/@nextTask value is only valid if it matches a value of a task/@name.

i.e. In the above example, the step of task-13 would be considered invalid?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

乖乖公主 2024-12-05 18:47:55

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

Easiest way: declare the task name attribute to be of type xsd:ID and the step nextTask attribute to be of type xsd:IDREF.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文