子元素规范<child>
应该被禁止使用属性&#34; in&#34; <parent>
元素的授权和授权使用参数&#34; out&#34;
valid
{ <parent type="in" name="one">
</parent>
<parent type="out" name="two">
<child...>
</child>
</parent> }
invalid
{ <parent type="in" name="one">
<child...> {this element mustn't be here}
</child>
</parent>
<parent type="out" name="two">
<child...>
</child>
</parent> }
如何在XSD中实现给定条件?
答案 0 :(得分:0)
因此,您似乎正试图表达特定类型的co-occurance constraint。即,type="in"
时允许child
。当type="out"
然后child
不被允许时。
我不认为你可以用XSD做到这一点。你可以定义两种不同的类型(一种用于何时type="in"
然后另一种。然后你可以得到不同的元素,一种允许孩子,另一种不允许,但你不能同时做两种那些属于同一个元素的人。
要做这种事情,你可能想要schematron。它允许编写更复杂的规则,并为您提供可用于断言此规则的模式语言。