本システムでは, Predicateの部の評価について, XPathにはない幾つかの表現をサポートしている. ここでは, 本システム固有の構文について解説する.
正規表現 /PLAY[ACT=~"^(hoge*)$" /PLAY/ACTの文字列値(エレメントの場合, テキストノードを文書順につなぎ合わせたもの)が指定の正規表現'^(hoge*)$'にマッチする/PLAYを抜きだす. 否定演算子は'!=~'である. 通常のマッチ処理は, /PLAY[ACT="hoge"]は, /PLAY/ACT下の文字列値を算出する必要があるため検索コストが高い. そこで代替構文/PLAT[ACT=="hoge"]を用意した. これは, /PLAY/ACT下に, ノードテキスト"hoge"が存在する/PLAY要素を取りだすものである. 否定演算子は'!=='である. Attributeの場合/PLAT[@ACT="hoge"]は, /PLAY/@ACTの文字列値(属性の場合は, 属性値)のなので, 文字列値の算出は比較的容易である. Predicate部での数値の評価 /PLAY[NUM>=31] /PLAY/NUMの文字列値をINTEGERにキャストし比較を行なう. /PLAY[NUM>=31.54] /PLAY/NUMの文字列値をREAL型にキャストし, 比較を行なう. XPathの仕様では, 実数値で全て比較を行なわれるが, Performance面と実用面からユーザが選択可能とした. マッチ処理と同様の処理もサポートしている. /PLAY[NUM<==3.1] /PLAY/NUMを親とするテキストノードをREAL型にキャストし, 比較を行なう. /PLAY[NUM>==5] /PLAY/NUMを親とするテキストノードをINTEGERにキャストし, 比較を行なう.