XML Schema:约束发生次数是一致的

时间:2009-10-09 21:33:04

标签: xml xsd

假设元素B是元素A的子元素。有没有办法确保对于每个A,B元素的数量是无界的,只要它在A元素之间是一致的?

例如,以下内容将验证:     

    <A>
       <B/>
       <B/>
    </A>
    <A>
       <B/>
       <B/>
    </A>

因为第一个和最后一个<A>标记都有两个<B>元素。

但以下不会:     

    <A>
       <B/>
       <B/>
       <B/>
    </A>
    <A>
       <B/>
       <B/>
    </A>
因为第一个<A>元素有三个<B>元素,而第二个<A>元素有两个<B>元素。

1 个答案:

答案 0 :(得分:1)

由于共同限制,仅使用XSD 1.0无法实现此目的。

  

共同约束是两个或更多值之间的约束。元素,元素和属性,或属性和属性之间可能存在共约束。共同约束可以存在于单个XML文档中,也可以存在于多个XML文档中。 (Source

您可以检查this article about extending schemas以了解克服此类限制的不同方法。

当它们成为标准时,似乎XSD 1.1 assertions将会得到拯救。