Repository navigation
Expand file tree
/
Copy pathsubsequence.xq
More file actions
56 lines (52 loc) · 1.62 KB
/
Copy pathsubsequence.xq
File metadata and controls
56 lines (52 loc) · 1.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
(:
: eXist-db Open Source Native XML Database
: Copyright (C) 2001 The eXist-db Authors
:
: info@exist-db.org
: http://www.exist-db.org
:
: This library is free software; you can redistribute it and/or
: modify it under the terms of the GNU Lesser General Public
: License as published by the Free Software Foundation; either
: version 2.1 of the License, or (at your option) any later version.
:
: This library is distributed in the hope that it will be useful,
: but WITHOUT ANY WARRANTY; without even the implied warranty of
: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
: Lesser General Public License for more details.
:
: You should have received a copy of the GNU Lesser General Public
: License along with this library; if not, write to the Free Software
: Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
:)
xquery version "3.1";
module namespace ss="http://exist-db.org/test/subsequence";
declare namespace test="http://exist-db.org/xquery/xqsuite";
declare
%test:assertTrue
function ss:pipeline1() {
("x", "y") => subsequence(1, 1) => matches("x")
};
declare
%test:args(1,1)
%test:assertEmpty
%test:args(3,1)
%test:assertEmpty
%test:args(5,1)
%test:assertEmpty
%test:args(1,2)
%test:assertEquals(2)
%test:args(3,2)
%test:assertEquals(4)
%test:args(5,2)
%test:assertEmpty(4)
%test:args(1,3)
%test:assertEquals(2,3)
%test:args(3,3)
%test:assertEquals(4,5)
%test:args(1,5)
%test:assertEquals(2,3,4,5)
function ss:tail($start, $length) {
tail(
subsequence((1 to 5), $start, $length))
};