比較

比較 (XPath 1.0)

[1] XPath には、 =, !=, <, >, <=, >= の6つの比較演算子があります。 <http://www.w3.org/TR/xpath#booleans>

比較対象の2つのオペランドの型によって、 それぞれ比較の仕方が定義されています。

オペランド1演算子オペランド2意味
節集合すべて節集合∃オペランド1の節, ∃オペランド2の節 s.t. 比較 (文字列値 (オペランド1の節), 文字列値 (オペランド2の節)) が真節集合すべて数値∃節集合の節 s.t. 比較 (number (文字列値 (節集合の節)), 数値) が真
節集合すべて文字列∃節集合の節 s.t. 比較 (文字列値 (節集合の節), 文字列) が真
節集合すべて真偽値∃節集合の節 s.t. 比較 (boolean (節集合の節), 真偽型) が真
真偽値=, !=節集合以外比較 (真偽値, boolean (もう一方))
数値=, !=節集合・真偽値以外比較 (数値, number (もう一方))
節集合・真偽値・数値以外=, !=節集合・真偽値・数値以外比較 (string (値1), string (値2))
数値=, !=数値IEEE 754 的に等しい?
真偽値=, !=真偽値同じ?
文字列=, !=文字列同じ UCS 文字列?
節集合以外<, >, <=, >=節集合以外IEEE 754 的に比較 (number (値1), number (値2))

節集合の比較は、その要素の節が1つでも等しければ等しいとか何とかそんな風になります。 ∀じゃなくて∃です。