有没有办法为具有相同名称的2个元素定义具有固定值和子元素的多个属性?
<Root>
<element
attributeA="1"
attributeB="2">
<subElement/>
</element>
<element
attributeA="3"
attributeB="4">
<subElement/>
</element>
</Root>
我希望任何这些元素都可以,但不允许使用以下元素:
<element
attributeA="1"
attributeB="4">
<subElement/>
</element>
我知道在xsd中,不可能在一个“parent”下有2个具有相同名称的元素。 仅在元素上创建并通过枚举限制它似乎不起作用,因为我必须避免“混合”形式。 元素的名称必须相同,并且必须具有父元素。
是否有我没有看到的解决方案或解决此问题的方法?
答案 0 :(得分:2)
这样的模型会违反约束“元素声明一致性”,这要求如果内容模型中的两个元素粒子具有相同的名称,那么它们必须具有相同的类型。
当然,您可以使用断言在XSD 1.1中执行此操作。