假设元素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>
元素。
答案 0 :(得分:1)
由于共同限制,仅使用XSD 1.0无法实现此目的。
共同约束是两个或更多值之间的约束。元素,元素和属性,或属性和属性之间可能存在共约束。共同约束可以存在于单个XML文档中,也可以存在于多个XML文档中。 (Source)
您可以检查this article about extending schemas以了解克服此类限制的不同方法。
当它们成为标准时,似乎XSD 1.1 assertions将会得到拯救。