<html xmlns="http://www.w3.org/1999/xhtml" a0:Name="SuikaWiki" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:Version="0.9"><head></head><body><p><a0:anchor-end a0:anchor="1">[1]</a0:anchor-end> <dfn>述部</dfn> (predicate;
<a0:anchor-external a0:resScheme="URI" a0:resParameter="http://www.w3.org/TR/xpath#predicates">http://www.w3.org/TR/xpath#predicates</a0:anchor-external>) 
は、<a0:anchor>位置段階</a0:anchor>の末尾に零個以上つけることができます。
述部は、位置段階の前の部分、すなわち<a0:anchor>軸</a0:anchor>と<a0:anchor>節検査</a0:anchor>の結果で得た<a0:anchor>節集合</a0:anchor>を<a0:anchor>濾過</a0:anchor>して更に絞り込むのに使います。</p><p>述部は複数記述できますが、前の述部から順に濾過します。</p><p>例えば、 <samp class="XPath"> child:foo [ <var>expr1</var> <title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"> <var xmlns="http://www.w3.org/1999/xhtml">expr2</var> ] </title></samp>
は、まず <code class="XPath"><a0:anchor>child</a0:anchor>:foo</code>
を評価して得た節集合を、
まず <var>expr1</var> で濾過し、次に
<var>expr2</var> で濾過して、この結果を全体の評価結果の節集合とします。</p><p><a0:anchor-end a0:anchor="2">[2]</a0:anchor-end><ul><li><code class="ABNF"><dfn>述部</dfn> := [ <a0:anchor>WSP</a0:anchor> ] &quot;[&quot; 述部式 &quot;]&quot; [WSP]</code></li><li><code class="ABNF"><dfn>述部式</dfn> := <a0:anchor>式</a0:anchor> </code></li></ul></p><p><a0:anchor-end a0:anchor="3">[3]</a0:anchor-end> 述部式は、次のように評価します。<ol><li>まず、式を評価します。<ul><li><a0:anchor>文脈節</a0:anchor>は濾過対象の節とします。</li><li><a0:anchor>文脈寸法</a0:anchor>は濾過対象の節集合の節の数とします。</li><li><a0:anchor>文脈位置</a0:anchor>は濾過対象の節の、濾過対象の節集合中における<a0:anchor>近接位置</a0:anchor>とします。</li></ul></li><li>評価結果が<a0:anchor>数値</a0:anchor>である場合、
文脈位置との比較の真偽を結果とします。
例えば、述部 <samp class="XPath"> [3] </samp> は、
<samp class="XPath"> [ <a0:anchor>position</a0:anchor>() = 3 ] </samp>
と等価です。</li><li>それ以外の場合、 <code class="XPath"> <a0:anchor>boolean</a0:anchor>( <var>$述部式</var> ) </code>
を結果とします。</li></ol></p><p>結果が真ならその節は濾過結果の節集合に入れられ、
偽であれば位置段階中でのその節の評価はそこでおしまいです。</p><p><a0:anchor-end a0:anchor="4">[4]</a0:anchor-end><pre>&lt;context&gt;
  &lt;foo&gt;
     &lt;p id=&quot;p1&quot;/&gt;
     &lt;p id=&quot;p2&quot;/&gt;
  &lt;/foo&gt;
  &lt;p id=&quot;p3&quot;/&gt;
  &lt;bar&gt;
    &lt;p id=&quot;p4&quot;/&gt;
    &lt;p id=&quot;p5&quot;/&gt;
  &lt;/bar&gt;
&lt;/context&gt;</pre>で、 <samp class="XPath"><a0:anchor>descendant</a0:anchor>:p[position()=2] </samp>
は要素 <code class="XML">p2</code> です。</p><p><a0:anchor-end a0:anchor="5">[5]</a0:anchor-end> <cite xml:lang="en">164822 – XPath expressions .<strong></strong>[<strong></strong>foo<strong></strong>]<strong></strong> and ..<strong>[</strong>foo<strong>]</strong> shouldn't work</cite>
( (<time>2013-11-01 00:10:34 +09:00</time> 版))
<a0:anchor-external a0:resScheme="URI" a0:resParameter="https://bugzilla.mozilla.org/show_bug.cgi?id=164822">https://bugzilla.mozilla.org/show_bug.cgi?id=164822</a0:anchor-external></p></body></html>