XPathにおける比較

比較 (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つでも等しければ等しいとか何とかそんな風になります。 ∀じゃなくて∃です。