XSD架构定义以下限制的正确语法是什么:
在元素列表中,我们必须指定该属性可以包含“c”值的无限次数,但值“b” - 零或仅一次。
例如,正确的xml如下所示:
<root>
<elem atr="c">111</elem>
<elem atr="c">222</elem>
<elem atr="b">333</elem>
<elem atr="c">444</elem>
<elem atr="c">555</elem>
</root>
不正确的是:
<root>
<elem atr="c">111</elem>
<elem atr="c">222</elem>
<elem atr="b">333</elem>
<elem atr="c">444</elem>
<elem atr="b">555</elem>
</root>
答案 0 :(得分:3)
我认为你做不到。最接近的是xsd:key:
<xsd:key name="idKey">
<xsd:selector xpath="elem"/>
<xsd:field xpath="@atr"/>
</xsd:key>
但这并不是你想要的。
XML Schema通常使用非常有限的方法来定义依赖于值的约束。看看Schematron。
答案 1 :(得分:0)
据我所知,这是不可能的。您可以atr
使其独一无二......