XML Schema不允许在同一级别使用重复的元素名称。我正在寻找可以处理它的XML验证语言。 XML,我不拥有,因此无法改变,看起来像
<items>
<item type="single">
<name>Some single item</name>
</item>
<item type="group">
<name>Some group item</name>
<groups>
…
</groups>
</item>
<item ref="../item[0]"></item>
</items>
尽可能地,有三种不同类型的项目。
这只是一个简单的例子,XML元素要复杂得多。 我想我正在寻找从多个元素定义中选择的XML验证语言。 例如如果单个类型的项目定义不合适,请尝试分组,如果不合适,请尝试参考,如果仍然不合适,则无效。
由于我想验证XML的不同版本以找到它们之间的变化,因此规范非常严格,这一点非常重要。这意味着,只有在XML中可选的可选时,我才会使用数量规格,而不是取悦验证者。
答案 0 :(得分:0)
您可以使用XML Schema(XSD)1.1通过使用“条件类型赋值”(也称为xs:alternative)的功能来实现此目的。这允许您为item元素定义多个替代类型,根据元素属性的值进行选择。