機能
述語の直前に書かれた式を修飾し、修飾された式の評価結果であるシーケンスに対して、その項目の選別を行います。述語の評価結果は、選別した結果のシーケンスです。
記述形式
参照項番
式 → 4.1 式の概要
一般規則
述語式は、選別対象のシーケンス内の項目をコンテキストアイテムの値とし、各項目に対して1回ずつ評価されます。
複数の述語が隣接している場合、述語は左から右に適用され、それぞれの述語で選別した結果が、次に続く述語の対象シーケンスになります。
述語式の評価結果が数値型(double型)の原子値の場合、その原子値が現在処理している項目のシーケンス内での位置と等しければ、その項目は保持されます。等しくなければ、その項目は除外されます。ただし、シーケンスの先頭項目の位置を表す数値は1です。
述語式の評価結果が数値型でない場合、シーケンスの項目は以下のようして選別されます。
述語式の評価結果の有効ブール値が真になるとき、その項目は選別結果のシーケンスに保持されます。
述語式の評価結果の有効ブール値が偽になるとき、その項目は選別結果のシーケンスから除外されます。
使用例
この式は、ルートノードの子エレメントノードemployeesの子である2番目のエレメントノードemployeeのシーケンスを返します。
/employees/employee[2]
この式は、ルートノードの子孫の中から、エレメントノードsonとエレメントノードdaughterを子にもつエレメントノードfamilyのシーケンスを返します。
//family[son][daughter]