我有一些带有序列的类型,它确实限制了子元素的顺序。我想删除这些订单限制。假设我不能(或不想)更改子元素的定义,我应该选择哪个元素?
例如,如果我用<xs:choise maxOccurs="unbounded">
更改它将不会完全等同于<xs:sequence>
,因为最初应该只出现一次的一些子元素现在可能会出现几次。
反之亦然,我不能使用xs:all
,因为现在我对最大元素数量(不超过1)有限制。
那么,有简单快速的解决方案吗? (尽可能少地对架构进行更改)
答案 0 :(得分:2)
简短的回答是你做不到的。
一个选项是为每个可能的节点序列组合定义一个类型,然后将它们包含在一个但是这可能是微不足道的。
答案 1 :(得分:0)
您可以将<sequence>
打包在<choice>
。
<choice>
<sequence>
<!-- list your choices here -->
</sequence>
</choice>