diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/software/eXist/webapp/mpdl/_stuff/testDev/test3.xql	Tue Feb 08 15:16:46 2011 +0100
@@ -0,0 +1,36 @@
+xquery version "1.0";
+
+declare namespace echo="http://www.mpiwg-berlin.mpg.de/ns/echo/1.0/";
+declare namespace exist="http://exist.sourceforge.net/NS/exist";
+declare namespace util = "http://exist-db.org/xquery/util";
+declare namespace ft = "http://exist-db.org/xquery/lucene";
+
+
+let $coll := collection("/db/mpdl/documents/standard/archimedes/la")
+let $doc := doc("/db/mpdl/documents/standard/echo/zh/SongYingxing_1637.xml")
+let $pn := 300
+let $xpathQuery := "//place"
+
+let $pageBreaks := $doc//echo:pb
+let $pb1 := subsequence($pageBreaks, $pn, 1)
+let $pb2 := subsequence($pageBreaks, $pn + 1, 1)
+let $pageFragment := 
+  if ($pn != -1)
+  then util:get-fragment-between($pb1, $pb2, true())
+  else ()
+let $fragmentNode := util:parse($pageFragment)
+
+let $bla := <blu><bla><place>1</place><place>2</place></bla></blu>
+let $tmpFragmentNode := util:eval-inline($fragmentNode, ".")
+
+let $result := util:eval-inline($doc, "let $a := //echo:metadata let $b := for $elem in $a let $bla := $elem return $bla return $b")
+let $result2 := util:eval-inline($bla, "bla/place")
+let $result3 := util:eval-inline($fragmentNode, "let $a := .//place return $a")
+let $result4 := util:eval-inline($tmpFragmentNode, ".//place")
+let $result5 := util:eval-inline($fragmentNode, concat (".", $xpathQuery))
+let $result6 := util:eval-inline($doc, "util:node-id(//echo:metadata)")
+let $result7 := util:eval-inline($bla, "let $a := .//place let $b := for $elem in $a let $bla := $elem return $bla return $b")
+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")
+
+
+return $result8