Функции для узлов
В XPath и XQuery для узлов определены следующие функции:
· fn:name($arg as node()?) as xs:string – возвращает имя узла (если аргумент не задан, возвращает имя текущего узла);
· fn:local-name($arg as node()?) as xs:string – возвращает локальное имя узла (если аргумент не задан, возвращает локальное имя текущего узла);
· fn:namespace-uri($arg as node()?) as xs:anyURI –пространство имен URI для узла (если аргумент не задан, возвращает пространство имен URI текущего узла);
· fn:number($arg as xs:anyAtomicType?) as xs:double – возвращает значение $arg, преобразованное к числу с плавающей точкой или, если $arg не задан, значение текущего узла, преобразованное к числу с плавающей точкой;
· fn:lang($testlang as xs:string?, $node as node()) as xs:boolean – возвращает true, если значение атрибута xml:lang для узла $node (или, если аргумент $node не задан, для текущего узла) равно языку, указанному в первом аргументе, в противном случае возвращается false;
· op:is-same-node($parameter1 as node(), $parameter2 as node()) as xs:boolean – возвращает true, если узел, заданный в аргументе $parameter1, является тем же узлом, что и узел, заданный в аргументе $parameter2, в противном случае возвращается false;
· op:node-before($parameter1 as node(), $parameter2 as node()) as xs:boolean – возвращает true, если узел, заданный в аргументе $parameter1, предшествует узлу, заданному в аргументе $parameter2, в противном случае возвращается false;
· op:node-after($parameter1 as node(), $parameter2 as node()) as xs:boolean – возвращает true, если узел, заданный в аргументе $parameter1, следует за узлом, заданным в аргументе $parameter2, в противном случае возвращается false;
· fn:root($arg as node()?) as node()? – возвращает корень дерева, к которому принадлежит узел (если аргумент не задан, возвращается корень дерева для текущего узла).
Примеры использования функций для узлов:
1. fn:name($node1) – возвращает имя узла, заданного в переменной $node1.
2. fn:local-name($node1) – возвращает локальное имя узла, заданного в переменной $node1.
3. fn:namespace-uri($node1) – возвращает пространство имен для имени узла, заданного в переменной $node1.
4. fn:number(xs:string("24")) – возвращает 2.4E1.
5. fn:lang(xs:string("en"), $node1) – возвращает true, если для узла $node1 задан атрибут xml:lang и его значение равно "en".
6. op:is-same-node($node1, $node2) – возвращает false.
7. op:node-before($node1, $node2) – возвращает true, если узел $node1 предшествует узлу $node2.
8. op:node-after($node1, $node2) – возвращает false, если узел $node1 предшествует узлу $node2.
9. fn:root($node1) – возвращает корневой узел узла $node1.
Дата добавления: 2015-03-19; просмотров: 645;