2017-02-17 5 views
0

は、ここに私のXMLファイルのスケッチです:要素を数え、その数を整数(XSD 1.1)と比較するXPath?

<file recordCount="n"> 
<record/> 
<record/> 
<record/> <!-- ...etc... --> 
</file> 

私は@recordCount(正の整数)が含まれているrecord要素の計算された数に等しくなければならないことをfile要素上のXMLスキーマ(バージョン1.1)アサートを作りましたfileにあります。これは、現在私は@recordCountに入れてどんなテストXMLファイルを失敗している

test="count(record) eq @recordCount" 

nonZeroIntegerを与えられる)と、しかし、多くの(有効な)recordの要素を私は持っている:

ここで私が思い付くことが最高です...

testで比較する2つの変数のノードパスやタイプのような、本当に基本的なものがないと思いますか?

おそらく関連:XSD 1.1 Assert to Count and Compare Elements

+1

(a)間違った要素にアサーションを入れたり、(b)XPath式で名前空間接頭辞を使用するのを忘れるなど、本当に簡単な間違いがあると思われます。 recordCountを明示的にxs:integerに変換することもお勧めしますが、必須ではありません(recordCountの宣言方法によって異なります)。これを単純で実行可能な例に縮小した場合は、何が間違っているかを教えてくれるでしょう。 –

+0

ありがとうございます。何とか解決しました。私はその質問を閉じます。 – Michael

答えて

0

このXPathは正しいです。 IDEで期待通りに動作します。なぜそれが正しく妥当性を検証していなかったかを知ると、私はその質問を更新します。

関連する問題