XSD 架构;在元素序列中,是否有任何方法可以指定允许任意数量的未指定的附加元素?

问题描述 投票:0回答:1

所以,我想编写一个 XSD,检查元素列表是否包含特定的必需元素,但除了它们之外,在列表的任何位置都允许任意数量的其他元素。有办法做到这一点吗?我在这里找到了当附加元素出现在末尾时如何处理这种情况:

XSD 表示强制元素,后跟任何其他可选元素?

但我想允许他们在任何地方。 (必需)元素的顺序与我无关。如果可以通过检查订单来做到这一点,很好,但这不是必需的。

例如,我想检查我的 XML 是否包含以下标签:

<HEAD>
  <thing1>Str123</thing1>
  <thing2>Str123</thing2>
  <thing3>Str123</thing3>
</HEAD>

但是

HEAD
元素还应该能够在任何位置包含任何其他元素,例如:

<HEAD>
  <thing1>Str123</thing1>
  <thing2>Str123</thing2>
  <thing4>Str123</thing4>
  <thing3>Str123</thing3>
  <thing5>Str123</thing5>
</HEAD>

我尝试将

<xsd:all>
与里面的
<xsd:any>
结合起来,但这似乎不允许......

xml xsd xsd-validation
1个回答
0
投票

XSD 1.1 经常给出答案:

xs:openContent mode="interleave"
。如果您的 XSD 处理器不支持 1.1(这很可能),请向您的供应商投诉并寻找其他产品。

© www.soinside.com 2019 - 2024. All rights reserved.