annotate software/eXist/webapp/mpdl/_stuff/testDev/dummy.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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
1 xquery version "1.0";
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
2
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
3 declare namespace dummy = "http://archimedes.mpiwg-berlin.mpg.de";
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
4 declare namespace xlink = "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
5
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
6 declare option exist:serialize "method=xml media-type=text/xml omit-xml-declaration=no indent=yes";
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
7
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
8 declare function dummy:getDummyDocument() as node() {
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
9 let $bla :=
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
10 document {
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
11 element product {
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
12 attribute dept { "ACC" },
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
13 element number { 563 },
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
14 element name { attribute language {"en"}, "Floppy Sun Hat"}
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
15 },
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
16 element product {
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
17 attribute dept { "BCC" },
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
18 element number { 564 },
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
19 element name { attribute language {"en"}, "Floppy SBun Iat"}
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
20 }
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
21 }
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
22 return $bla
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
23 };
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
24
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
25 declare function dummy:milestone-chunk($ms1 as node(), $ms2 as node(), $node as node()) as node()* { (: Version 1.0 -- 7 Feb 2005 -- David Sewell Usage: The first two parameters are the starting and ending milestone elements in a document or document fragment. Example: $doc//pb[@n='1'], $doc//pb[@n='2']. The third parameter should initially be an element that is a parent or ancestor of all the milestones, like $doc//body or $doc//text. (This parameter is the only one that varies as the function is called recursively.) The function returns only a single node containing the content between the two milestones. To return, for example, all the pages in a book, call the function repeatedly by reiterating over every <pb>, where $ms2 will be either the following <pb> or, for the last one, the final node() in the document or document fragment. English-language explanation of the function operation: Test for node type. For an element, if it is (1) an ancestor or self of one of the two milestones, use the "element" function to return an element of the same name, with its content created by recursing over any child nodes. If it is (2) an element in between the two milestones, return the element. If it is (3) anything else, return null. For an attribute node, return the entire attribute. For a text node, return it if it is between the milestones; otherwise return null. :) typeswitch ($node) case element() return if ($node is $ms1) then $node else if ( some $n in $node/descendant::* satisfies ($n is $ms1 or $n is $ms2) ) then element { name($node) } { for $i in ( $node/node() | $node/@* ) return dummy:milestone-chunk($ms1, $ms2, $i) } else if ( $node >> $ms1 and $node << $ms2 ) then $node else () case attribute() return attribute { name($node) } { data($node) } default return if ( $node >> $ms1 and $node << $ms2 ) then $node else () };
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
26
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
27 let $dummy := dummy:getDummyDocument()
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
28
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
29 let $docAchil := /archimedes/info[cvs_file = 'achil_propo_087_la_1545.xml']/fn:root()
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
30 let $pb184 := $docAchil//pb[@n='185']
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
31 let $pb185 := $docAchil//pb[@n='186']
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
32 let $page184 := dummy:milestone-chunk($pb184, $pb185, $docAchil//text)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
33
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
34
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
35 return
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
36 (: <?xml-stylesheet type="text/xsl" href="archimedes.xsl" ?> :)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
37 transform:transform($dummy, doc("/db/xsl/archimedes.xsl"), ())
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
38
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
39 (:
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
40 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
41 <html>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
42 <head>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
43 <title>Dummy</title>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
44 </head>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
45 </html>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
46 :)