Mercurial > hg > mpdl-group
comparison software/eXist/webapp/mpdl/_stuff/testDev/test3.xql @ 7:5589d865af7a
Erstellung XQL/XSL Applikation
author | Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de> |
---|---|
date | Tue, 08 Feb 2011 15:16:46 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
6:2396a569e446 | 7:5589d865af7a |
---|---|
1 xquery version "1.0"; | |
2 | |
3 declare namespace echo="http://www.mpiwg-berlin.mpg.de/ns/echo/1.0/"; | |
4 declare namespace exist="http://exist.sourceforge.net/NS/exist"; | |
5 declare namespace util = "http://exist-db.org/xquery/util"; | |
6 declare namespace ft = "http://exist-db.org/xquery/lucene"; | |
7 | |
8 | |
9 let $coll := collection("/db/mpdl/documents/standard/archimedes/la") | |
10 let $doc := doc("/db/mpdl/documents/standard/echo/zh/SongYingxing_1637.xml") | |
11 let $pn := 300 | |
12 let $xpathQuery := "//place" | |
13 | |
14 let $pageBreaks := $doc//echo:pb | |
15 let $pb1 := subsequence($pageBreaks, $pn, 1) | |
16 let $pb2 := subsequence($pageBreaks, $pn + 1, 1) | |
17 let $pageFragment := | |
18 if ($pn != -1) | |
19 then util:get-fragment-between($pb1, $pb2, true()) | |
20 else () | |
21 let $fragmentNode := util:parse($pageFragment) | |
22 | |
23 let $bla := <blu><bla><place>1</place><place>2</place></bla></blu> | |
24 let $tmpFragmentNode := util:eval-inline($fragmentNode, ".") | |
25 | |
26 let $result := util:eval-inline($doc, "let $a := //echo:metadata let $b := for $elem in $a let $bla := $elem return $bla return $b") | |
27 let $result2 := util:eval-inline($bla, "bla/place") | |
28 let $result3 := util:eval-inline($fragmentNode, "let $a := .//place return $a") | |
29 let $result4 := util:eval-inline($tmpFragmentNode, ".//place") | |
30 let $result5 := util:eval-inline($fragmentNode, concat (".", $xpathQuery)) | |
31 let $result6 := util:eval-inline($doc, "util:node-id(//echo:metadata)") | |
32 let $result7 := util:eval-inline($bla, "let $a := .//place let $b := for $elem in $a let $bla := $elem return $bla return $b") | |
33 let $result8 := util:eval-inline($doc, "let $a := .//echo:place let $b := for $elem at $i in $a let $bla := concat($i, '. Place: ', $elem, ' (Level: ', util:node-id($elem), ', ', util:node-xpath($elem), ')') return $bla return $b") | |
34 | |
35 | |
36 return $result8 |