我最近开始使用 schematron 来验证 xml 文档。到目前为止,我对它印象深刻,但我偶然发现了一条我无法正常工作的规则。
我在下面做了一个简单的例子。
<iso:assert test="ns1:some-element/text() = 'false' and /ns1:same-other-element">Error message</iso:assert>
基本上我想验证两件事,如果ns1:some-element/text()
包含'false',ns1:same-other-element
应该存在,并且验证确实有效。但是,当ns1:some-element/text()
包含 false 以外的内容时,我不在乎天气 ns1:same-other-element 是否存在。
此时,当 ns1:same-other-element 缺失且 valuens1:some-element/text()
不是 'false'时,也会触发该规则
任何想法如何解决这个问题?