XML 模式根据另一个元素的值限制元素出现

发布于 2024-12-05 20:05:35 字数 579 浏览 0 评论 0原文

是否可以定义一个 XML 模式,根据另一个元素的值来限制一个或多个元素的出现?

例如,在下面的 XML 中,当 TYPE 元素的值为“A”时,则只能有一个 ITEM_TYPE_1 元素,但至少有两个 ITEM_TYPE_2 元素。

<ROOT>
    <TYPE>A</TYPE>
    <ITEM_TYPE_1 />
    <ITEM_TYPE_2 />
    <ITEM_TYPE_2 />
</ROOT>

相反,当 TYPE 元素的值为“B”时,则必须至少有两个 ITEM_TYPE_1 元素,但只有一个 ITEM_TYPE_2 元素。

<ROOT>
    <TYPE>B</TYPE>
    <ITEM_TYPE_1 />
    <ITEM_TYPE_1 />
    <ITEM_TYPE_2 />
</ROOT>

不确定我是否正在尝试做一些 XML Schema 无法处理的事情,因此感谢您的反馈。

Is it possible to define an XML Schema that constrains the occurrence of one or more elements based on another element's value?

For example, in the XML below, when the TYPE element has a value of 'A', then there can be only one ITEM_TYPE_1 element but at least two ITEM_TYPE_2 elements.

<ROOT>
    <TYPE>A</TYPE>
    <ITEM_TYPE_1 />
    <ITEM_TYPE_2 />
    <ITEM_TYPE_2 />
</ROOT>

Conversely, when the TYPE element has a value of 'B', then there must be at least two ITEM_TYPE_1 elements, but only one ITEM_TYPE_2 element.

<ROOT>
    <TYPE>B</TYPE>
    <ITEM_TYPE_1 />
    <ITEM_TYPE_1 />
    <ITEM_TYPE_2 />
</ROOT>

Not sure if I'm trying to do something that XML Schema can't handle or not, so feedback is appreciated.

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

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

发布评论

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

评论(1

云柯 2024-12-12 20:05:35

不,XML Schema 1.0 不支持此类约束,其中存在对元素或属性值的依赖。 XML Schema 1.1 尚未被广泛采用,但通过断言支持值约束。

No, XML Schema 1.0 does not support such constraints, where there is a dependency on element or attribute values. XML Schema 1.1 is not yet widely adopted but supports value constraints via assertions.

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