<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XPath</anchor> には、
<code class="XPath"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">=</anchor></code>, <code class="XPath"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">!=</anchor></code>,
<code class="XPath"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&lt;</anchor></code>, <code class="XPath"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;</anchor></code>,
<code class="XPath"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&lt;=</anchor></code>, <code class="XPath"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;=</anchor></code>
の6つの比較演算子があります。
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/xpath#booleans">http://www.w3.org/TR/xpath#booleans</anchor-external></p><p>比較対象の2つの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オペランド</anchor>の型によって、
それぞれ比較の仕方が定義されています。</p><table><tbody><tr><td>オペランド1</td><td>演算子</td><td>オペランド2</td><td>意味</td></tr><tr><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">節集合</anchor></td><td>すべて</td><td>節集合</td><td><sup>∃</sup><var>オペランド1の節</var>, <sup>∃</sup><var>オペランド2の節</var> s.t. 比較 (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字列値</anchor> (<var>オペランド1の節</var>), 文字列値 (<var>オペランド2の節</var>)) が真</td><td>節集合</td><td>すべて</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">数値</anchor></td><td><sup>∃</sup><var>節集合の節</var> s.t. 比較 (<code class="XPathf"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">number</anchor></code> (文字列値 (<var>節集合の節</var>)), <var>数値</var>) が真</td></tr><tr><td>節集合</td><td>すべて</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字列</anchor></td><td><sup>∃</sup><var>節集合の節</var> s.t. 比較 (文字列値 (<var>節集合の節</var>), <var>文字列</var>) が真</td></tr><tr><td>節集合</td><td>すべて</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">真偽値</anchor></td><td><sup>∃</sup><var>節集合の節</var> s.t. 比較 (<code class="XPathf"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">boolean</anchor></code> (<var>節集合の節</var>), <var>真偽型</var>) が真</td></tr><tr><td>真偽値</td><td>=, !=</td><td>節集合以外</td><td>比較 (<var>真偽値</var>, <code class="XPathf">boolean</code> (<var>もう一方</var>))</td></tr><tr><td>数値</td><td>=, !=</td><td>節集合・真偽値以外</td><td>比較 (<var>数値</var>, <code class="XPathf">number</code> (<var>もう一方</var>))</td></tr><tr><td>節集合・真偽値・数値以外</td><td>=, !=</td><td>節集合・真偽値・数値以外</td><td>比較 (<code class="XPathf"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">string</anchor></code> (<var>値1</var>), <code class="XPathf">string</code> (<var>値2</var>))</td></tr><tr><td>数値</td><td>=, !=</td><td>数値</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IEEE 754</anchor> 的に等しい?</td></tr><tr><td>真偽値</td><td>=, !=</td><td>真偽値</td><td>同じ?</td></tr><tr><td>文字列</td><td>=, !=</td><td>文字列</td><td>同じ <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UCS</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>列?</td></tr><tr><td>節集合以外</td><td>&lt;, &gt;, &lt;=, &gt;=</td><td>節集合以外</td><td>IEEE 754 的に比較 (<code class="XPathf">number</code> (値1), <code class="XPathf">number</code> (値2))</td></tr></tbody></table><p>節集合の比較は、その要素の節が1つでも等しければ等しいとか何とかそんな風になります。
∀じゃなくて∃です。</p></body></html>