私は最近、schematron を使用して xml ドキュメントを検証し始めました。これまでのところかなり感銘を受けていますが、適切に動作させることができないルールに出くわしました。
以下に簡単な例を作成しました。
<iso:assert test="ns1:some-element/text() = 'false' and /ns1:same-other-element">Error message</iso:assert>
ns1:some-element/text()
基本的に、 「false」が含まれている場合、存在する必要がある2つのことを検証したいと思いns1:same-other-element
ます。その検証は実際に機能します。ただし、ns1:some-element/text()
false 以外のものが含まれている場合は、天候 ns1:same-other-element が存在するかどうかは気にしません。
この時点で、ルールは、ns1:same-other-element が欠落しており、値がns1:some-element/text()
「false」でない場合にも起動します。
これを回避する方法はありますか?