【问题标题】:XML Schema to Limit Element Occurrence Based on Another Element's Value基于另一个元素的值限制元素出现的 XML 模式
【发布时间】:2011-09-26 09:49:49
【问题描述】:

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

例如,在下面的 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 无法处理的事情,因此非常感谢您的反馈。

【问题讨论】:

    标签: xml xsd


    【解决方案1】:

    不,XML Schema 1.0 不支持这样的约束,即依赖元素或属性值。 XML Schema 1.1 尚未被广泛采用,但通过 assertions 支持值约束。

    【讨论】:

      猜你喜欢
      • 2011-05-06
      • 2020-06-03
      • 1970-01-01
      • 1970-01-01
      • 2013-08-13
      • 2016-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多