predikát je nepovinnou částí cesty
dále filtruje uzly vybrané na základě testu uzlu na zvolené ose
do výsledku se dostanou jen uzly, pro které je predikát splněný
číselná hodnota – pokud predikát obsahuje výraz, který vrací číslo, chápe se jako pozice v množině uzlů na ose, po které se v dané části cesty pohybujeme.
Uzly jsou číslovány od jedničky. Pokud se pohybujeme po reverzních osách (ancestor, preceding), jsou uzly číslovány v opačném pořadí než v dokumentu. Číselná hodnota tak spíše odpovídá pojmu vzdálenost.
Pravdivou hodnotu má predikát pouze pro uzel s daným pořadím.
množina uzlů – jako výraz
v predikátu můžeme použít XPath výraz, který vrací množinu uzlů.
Pokud je množina uzlů neprázdná, má predikát hodnotu true
, v opačném případě false
.
ostatní výrazy – ostatní výrazy jsou převedeny na logickou hodnotu a jejich výsledek je i hodnotou predikátu pro daný uzel.
predikáty lze aplikovat na libovolnou posloupnost