我有以下 xml。
<a>
<thing tag="song1">
<name>john doe</name>
<email>john@example.com</email>
</thing>
<owner thing="/a/thing[@tag='song1']">
...
</owner>
</a>
我想在 XSD 中断言,当存在带有标签 'song1' 的 'thing' 时,'owner' 必须有 thing='/a/thing[@tag='song1']。
我在 XSD 中的逻辑尝试是
<sch:assert
test="(count(a:owner[@thing=a:thing[@tag='song1']]) > 0) = count(a:thing[@tag='song1']) > 0))">Error</sch:assert>
</sch:rule>
氧气验证器对此 xsd 给出错误。请帮忙。谢谢。