Операторы и функции, генерирующие последовательности
В XPath и XQuery определены следующие операторы и функции, генерирующие последовательности:
· op:to($firstval as xs:integer, $lastval as xs:integer) as xs:integer* – возвращает последовательность целых чисел от $firstval до $lastval;
· fn:id($arg as xs:string*, $node as node()) as element()* – возвращает последовательность узлов элементов, заданных в $node, которые имеют значение атрибута типа ID, соответствующее значению или значениям типа IDREF, заданным в $arg (если аргумент $node не задан, поиск выполняется в текущем узле);
· fn:idref($arg as xs:string*, $node as node()) as node()* – возвращает последовательность узлов элементов, заданных в $node, которые имеют ссылки типа IDREF, на узлы, значение или значения атрибута типа ID для которых задано в $arg (если аргумент $node не задан, поиск выполняется в текущем узле);
· fn:doc($uri as xs:string?) as document-node()? – возвращает документ, фрагмент URI которого содержится в аргументе $uri;
· fn:doc-available($uri as xs:string?) as xs:boolean – возвращает true, если fn:doc($uri) возвращает документ, иначе возвращает false;
· fn:collection($arg as xs:string?) as node()* – возвращает последовательность узлов, полученных по адресу $arg, который рассматривается как данное типа xs:anyURI.
Примеры использования функций, генерирующих последовательности:
1. op:to(1,4)) – возвращает последовательность (1,2,3,4).
2. fn:id(($idref1,$idref2), $node1) – возвращает последовательность узлов элементов, заданных в $node1, которые имеют значение атрибута типа ID, соответствующее значениям типа IDREF, заданным в первом аргументе.
3. fn:idref(($id1,$id2), $node1) – возвращает последовательность узлов элементов, заданных в $node1, которые имеют ссылки типа IDREF, на узлы, ID которых задано в первом аргументе.
4. fn:doc(xs:string("mydoc")) – возвращает документ, фрагмент URI которого содержится в аргументе.
Дата добавления: 2015-03-19; просмотров: 814;