Общие функции и операторы
В XPath и XQuery для последовательностей определены следующие общие функции и операторы:
· op:concatenate($seq1 as item()*, $seq2 as item()*) as item()* – сцепляет последовательности, заданные в аргументах в одну последовательность;
· fn:index-of($seqParam as xs:anyAtomicType*, $srchParam as xs:anyAtomicType) as xs:integer* – возвращает последовательность индексов тех элементов последовательности $seqParam, которые равны $srchParam;
· fn:empty($arg as item()*) as xs:boolean – возвращает true, если – пустая последовательность или false – в противном случае;
· fn:exists($arg as item()*) as xs:boolean – возвращает true, если – не пустая последовательность или false – в противном случае;
· fn:distinct-values($arg as xs:anyAtomicType*) as xs:anyAtomicType* – возвращает последовательность, в которых все повторяющиеся элементы, за исключением одного, удалены;
· fn:insert-before($target as item()*, $position as xs:integer, $inserts as item()*) as item()* – возвращает последовательность, в которой в исходную последовательность $target вставлена, начиная с индекса $position, последовательность, заданная в $inserts;
· fn:remove($target as item()*, $position as xs:integer) as item()* – возвращает последовательность, в которой из исходной последовательности $target удален элемент с индексом $position;
· fn:reverse($arg as item()*) as item()* – возвращает последовательность, в которой элементы последовательности $arg переставлены в обратном порядке;
· fn:subsequence($sourceSeq as item()*, $startingLoc as xs:double, $length as xs:double) as item()* – возвращает последовательность, которая является подстрокой последовательности $sourceSeq, начиная с индекса $startingLoc длиной $length (если аргумент $length не задан, подстрока выделяется до конца строки);
· fn:unordered($sourceSeq as item()*) as item()* – возвращает последовательность, в которой элементы последовательности $sourceSeq переставлены в случайном порядке.
Примеры использования общих функций и операторов последовательностей:
1. op:concatenate((1,4,8), (3,4,7)) – возвращает последовательность (1,4,8,3,4,7).
2. fn:index-of((1,4,8,3,4,7)) – возвращает последовательность индексов (2,5).
3. fn:empty((2,5)) – возвращает false.
4. fn:exists(()) – возвращает false.
5. fn:distinct-values((1,4,8,3,4,7)) – возвращает (1,4,8,3,7).
6. fn:insert-before((1,4,8,3,7),1,0) – возвращает (0,1,4,8,3,7).
7. fn:remove((0,1,4,8,3,7),2) – возвращает (0,4,8,3,7).
8. fn:reverse((0,4,8,3,7)) – возвращает (7,3,8,4,0).
9. fn:subsequence((0,4,8,3,7),2,3) – возвращает (4,8,3).
10. fn:subsequence((0,4,8,3,7),2) – возвращает (4,8,3,7).
11. fn:unordered ((0,4,8,3,7)) – возвращает (3,0,7,8,4).
Дата добавления: 2015-03-19; просмотров: 666;