направляемый фильтром
Шаг, направляемый фильтром, использует вместо оси и теста узла первичное выражение:
Первичное выражение[Предикат]
Первичное выражение выдает в качестве результата последовательность узлов и/или атомарных значений, которая затем фильтруется предикатом.
Первичное выражение - это:
- число типа xs:integer, xs:decimal, xs:double;
- строка символов типа xs:string;
- значение переменной, начинающееся со знака доллара $;.
- вызов функции;
- наконец, произвольное выражение, заключенное в скобки.
Поэтому на шаге, направляемом фильтром, можно применять любое выражение, надо только заключить его в скобки.