Контекстные функции
Обработка выражений осуществляется в зависимости от некоторого контекста. Контекст показывает, какой узел в данный момент обрабатывается преобразованием, какова позиция этого узла в обрабатываемом множестве, сколько всего узлов в этом множестве, какие переменные доступны и какие значения они имеют, какие функции могут быть вызваны и, наконец, какие пространства имен объявлены.
В соответствии со спецификацией XPath, контекст составляют следующие части:
· Контекстный узел (context node) – узел, который обрабатывается в текущий момент;
· Целое положительное число, показывающее размер контекста – количество узлов во множестве, которое обрабатывается в данный момент;
· Целое положительное число, показывающее позицию контекстного узла в контексте вычисления выражения, то есть порядковый номер узла в текущем множестве преобразования, которое было соответствующим образом упорядочено;
· Множество связанных переменных (variable bindings), являющееся множеством пар вида «имя-значение», в котором имя переменной связывается со значением, присвоенным ей;
· Библиотека функций, состоящая из множества функций, которые могут быть выполнены процессором (функции описанной выше базовой библиотеки должны быть реализованы в процессоре, однако эта библиотека может быть расширена);
· Множество объявлений пространств имен, связывающее префиксы пространств имен с уникальными идентификаторами ресурсов (URI), которые им соответствуют.
В XPath и XQuery определены следующие основные контекстные функции:
· fn:position() as xs:integer – возвращает позицию текущего узла;
· fn:last() as xs:integer – возвращает последний узел в текущей последовательности текущего узла;
· fn:current-dateTime() as xs:dateTime – возвращает текущую дату и время;
· fn:current-date() as xs:date – возвращает текущую дату;
· fn:implicit-timezone() as xs:dayTimeDuration – возвращает временную зону по умолчанию.
Дата добавления: 2015-03-19; просмотров: 704;