[1] 述部 (predicate; <http://www.w3.org/TR/xpath#predicates>) は、位置段階の末尾に零個以上つけることができます。 述部は、位置段階の前の部分、すなわち軸と節検査の結果で得た節集合を濾過して更に絞り込むのに使います。
述部は複数記述できますが、前の述部から順に濾過します。
例えば、 child:foo [ expr1
は、まず child:foo
を評価して得た節集合を、
まず expr1 で濾過し、次に
expr2 で濾過して、この結果を全体の評価結果の節集合とします。
[3] 述部式は、次のように評価します。
boolean( $述部式 )
を結果とします。結果が真ならその節は濾過結果の節集合に入れられ、 偽であれば位置段階中でのその節の評価はそこでおしまいです。
<context> <foo> <p id="p1"/> <p id="p2"/> </foo> <p id="p3"/> <bar> <p id="p4"/> <p id="p5"/> </bar> </context>で、 descendant:p[position()=2] は要素
p2
です。[5] 164822 – XPath expressions .[foo] and ..[foo] shouldn't work ( ( 版)) <https://bugzilla.mozilla.org/show_bug.cgi?id=164822>