问题描述
我的 XML-Schema 中有这个问题,我希望一个元素重复,而另一个元素必须在重复元素之间或以任何顺序出现一次。
在 XML 中,我希望这发生:
<elements>
<second>Desc</second>
<second>Desc1</second>
<first>Desc</main>
<second>Description</second>
</elements>
意味着没有 second
出现 0 到 unbounded
和 first
恰好一次的顺序。
我的 XML 架构:
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element type="xs:string" name="second" maxOccurs="unbounded" minOccurs="0"/>
<xs:element type="xs:string" name="first"/>
</xs:choice>
然而,此架构允许 first
和 second
出现 unbounded
次。我试过将 minOcurrs
的 maxOcurrs
和 first
的 ^(?:[^:/]*[:/])?\K.+
设置为 1 但这并没有改变任何东西。有什么办法可以达到我想要的结果吗?
解决方法
您可以使用内容模型
sequence
A min=0 max=unbounded
B
A min=0 max=unbounded