annotate software/eXist/webapp/mpdl/interface/queryResult.xql @ 11:d6f528ad5d96

TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
author Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
date Fri, 11 Mar 2011 13:34:02 +0100
parents 5589d865af7a
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 import module namespace functx = "http://www.functx.com" at "../util/functx.xql";
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
4 import module namespace mpdl-lucene = "http://www.mpiwg-berlin.mpg.de/ns/mpdl/lucene/search" at "../lucene/search.xql";
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 namespace request="http://exist-db.org/xquery/request";
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 namespace echo="http://www.mpiwg-berlin.mpg.de/ns/echo/1.0/";
11
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
9 declare namespace TEI="http://www.tei-c.org/ns/1.0";
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
10
7
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
11 declare namespace dc="http://purl.org/dc/elements/1.1/";
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
12 declare namespace dct="http://purl.org/dc/terms/1.0/";
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
13 declare namespace rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
14
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
15 let $queryType := request:get-parameter("queryType", "")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
16 let $docbase := request:get-parameter("docbase", "")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
17 let $output := request:get-parameter("output", "html")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
18 let $attribute1 := request:get-parameter("attribute1", "")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
19 let $relOp1 := request:get-parameter("relOp1", "")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
20 let $attrQuery1 := request:get-parameter("attrQuery1", "")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
21 let $boolOp := request:get-parameter("boolOp", "")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
22 let $attribute2 := request:get-parameter("attribute2", "")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
23 let $relOp2 := request:get-parameter("relOp2", "")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
24 let $attrQuery2 := request:get-parameter("attrQuery2", "")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
25 let $ftQuery := request:get-parameter("ftQuery", "")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
26 let $ftMorphQuery := request:get-parameter("ftMorphQuery", "")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
27 let $orderBy := request:get-parameter("orderBy", "")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
28 let $language := request:get-parameter("language", "")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
29 let $pn := number(request:get-parameter("pn", ""))
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
30 let $reqPageSize := request:get-parameter("pageSize", "")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
31 let $pageSize :=
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
32 if ($reqPageSize = '' or $reqPageSize = '0')
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
33 then 20
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
34 else number($reqPageSize)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
35
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
36 let $docPathStandard := "/db/mpdl/documents/standard"
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
37 let $docPathMorph := "/db/mpdl/documents/morph"
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
38 let $docPath :=
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
39 if($queryType = 'fulltextMorph')
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
40 then $docPathMorph
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
41 else $docPathStandard
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
42
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
43 let $docBaseArch := "archimedes"
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
44 let $docBaseEcho := "echo"
11
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
45 let $docBaseTei := "tei"
7
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
46 let $fulltextMorphArchDocPath := concat($docPathMorph, "/", $docBaseArch, "/", $language)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
47 let $fulltextMorphEchoDocPath := concat($docPathMorph, "/", $docBaseEcho, "/", $language)
11
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
48 let $fulltextMorphTeiDocPath := concat($docPathMorph, "/", $docBaseTei, "/", $language)
7
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
49 let $fulltextMorphCollection :=
11
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
50 if(contains($docbase, $docBaseArch) and contains($docbase, $docBaseEcho) and contains($docbase, $docBaseTei))
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
51 then collection($fulltextMorphArchDocPath, $fulltextMorphEchoDocPath, $fulltextMorphTeiDocPath)
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
52 else if(contains($docbase, $docBaseArch) and contains($docbase, $docBaseEcho) and not(contains($docbase, $docBaseTei)))
7
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
53 then collection($fulltextMorphArchDocPath, $fulltextMorphEchoDocPath)
11
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
54 else if(contains($docbase, $docBaseArch) and not(contains($docbase, $docBaseEcho)) and contains($docbase, $docBaseTei))
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
55 then collection($fulltextMorphArchDocPath, $fulltextMorphTeiDocPath)
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
56 else if(not(contains($docbase, $docBaseArch)) and contains($docbase, $docBaseEcho) and contains($docbase, $docBaseTei))
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
57 then collection($fulltextMorphEchoDocPath, $fulltextMorphTeiDocPath)
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
58 else if(contains($docbase, $docBaseArch) and not(contains($docbase, $docBaseEcho)) and not(contains($docbase, $docBaseTei)))
7
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
59 then collection($fulltextMorphArchDocPath)
11
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
60 else if(not(contains($docbase, $docBaseArch)) and contains($docbase, $docBaseEcho) and not(contains($docbase, $docBaseTei)))
7
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
61 then collection($fulltextMorphEchoDocPath)
11
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
62 else if(not(contains($docbase, $docBaseArch)) and not(contains($docbase, $docBaseEcho)) and contains($docbase, $docBaseTei))
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
63 then collection($fulltextMorphTeiDocPath)
7
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
64 else ()
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
65
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
66 let $fulltextStandardArchDocPath := concat($docPathStandard, "/", $docBaseArch)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
67 let $fulltextStandardEchoDocPath := concat($docPathStandard, "/", $docBaseEcho)
11
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
68 let $fulltextStandardTeiDocPath := concat($docPathStandard, "/", $docBaseTei)
7
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
69 let $fulltextStandardCollectionStr :=
11
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
70 if(contains($docbase, $docBaseArch) and contains($docbase, $docBaseEcho) and contains($docbase, $docBaseTei))
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
71 then concat("collection('", $fulltextStandardArchDocPath, "', '", $fulltextStandardEchoDocPath, "', '", $fulltextStandardTeiDocPath, "')")
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
72 else if(contains($docbase, $docBaseArch) and contains($docbase, $docBaseEcho) and not(contains($docbase, $docBaseTei)))
7
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
73 then concat("collection('", $fulltextStandardArchDocPath, "', '", $fulltextStandardEchoDocPath, "')")
11
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
74 else if(contains($docbase, $docBaseArch) and not(contains($docbase, $docBaseEcho)) and contains($docbase, $docBaseTei))
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
75 then concat("collection('", $fulltextStandardArchDocPath, "', '", $fulltextStandardTeiDocPath, "')")
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
76 else if(not(contains($docbase, $docBaseArch)) and contains($docbase, $docBaseEcho) and contains($docbase, $docBaseTei))
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
77 then concat("collection('", $fulltextStandardEchoDocPath, "', '", $fulltextStandardTeiDocPath, "')")
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
78 else if(contains($docbase, $docBaseArch) and not(contains($docbase, $docBaseEcho)) and not(contains($docbase, $docBaseTei)))
7
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
79 then concat("collection('", $fulltextStandardArchDocPath, "')")
11
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
80 else if(not(contains($docbase, $docBaseArch)) and contains($docbase, $docBaseEcho) and not(contains($docbase, $docBaseTei)))
7
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
81 then concat("collection('", $fulltextStandardEchoDocPath, "')")
11
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
82 else if(not(contains($docbase, $docBaseArch)) and not(contains($docbase, $docBaseEcho)) and contains($docbase, $docBaseTei))
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
83 then concat("collection('", $fulltextStandardTeiDocPath, "')")
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
84 else ""
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
85 let $metadataStr := concat("(", $fulltextStandardCollectionStr, "/archimedes/info", "|" , $fulltextStandardCollectionStr, "/echo:echo/echo:metadata", "|" , $fulltextStandardCollectionStr, "/TEI:TEI/TEI:teiHeader", ")")
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
86 let $fulltextStandardCollection :=
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
87 if($fulltextStandardCollectionStr != "")
d6f528ad5d96 TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents: 7
diff changeset
88 then util:eval($fulltextStandardCollectionStr)
7
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
89 else ()
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
90
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
91 let $isAttributeSearch :=
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
92 if ($queryType = "attribute")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
93 then true()
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
94 else false()
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
95 let $isSimpleAttributeSearch :=
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
96 if ($queryType = "attribute" and $attrQuery2 = "")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
97 then true()
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
98 else false()
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
99 let $isBooleanAttributeSearch :=
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
100 if ($queryType = "attribute" and $attrQuery2 != "")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
101 then true()
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
102 else false()
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
103
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
104 (: TODO: performance improvement: at this time the result is fully scanned 3 times (query, ordering, presentation) :)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
105 let $attrQueryResult :=
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
106 if ($queryType = "browse")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
107 then $fulltextStandardCollection
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
108 else if ($queryType = "fulltext")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
109 then mpdl-lucene:search($fulltextStandardCollection, $ftQuery)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
110 else if ($queryType = "fulltextMorph")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
111 then mpdl-lucene:search($fulltextMorphCollection, $ftMorphQuery)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
112 else if ($isAttributeSearch)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
113 then mpdl-lucene:attrSearch($metadataStr, $attribute1, $attrQuery1, $boolOp, $attribute2, $attrQuery2)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
114 else ()
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
115
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
116 let $orderedAttrQueryResult :=
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
117 if ($queryType = "fulltext" or $queryType = "fulltextMorph")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
118 then
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
119 (for $attrElem in $attrQueryResult
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
120 order by ft:score($attrElem) descending
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
121 return $attrElem)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
122 else mpdl-lucene:order($attrQueryResult, $orderBy)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
123
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
124 let $countResult := count($orderedAttrQueryResult)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
125 let $countPagesTemp := $countResult idiv $pageSize + 1
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
126 let $countPages :=
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
127 if((($countResult - 1) idiv $pageSize + 1) = ($countPagesTemp - 1))
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
128 then $countPagesTemp - 1 (: if countResult is exactly 10, 20, 30, ... then 1 has to be subtracted :)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
129 else $countPagesTemp
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
130 let $pnLeftNumber :=
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
131 if ($pn > 1)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
132 then $pn - 1
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
133 else $pn
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
134 let $pnRightNumber :=
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
135 if ($pn < $countPages)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
136 then $pn + 1
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
137 else $pn
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
138 let $positionFrom := (($pn - 1) * $pageSize) + 1
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
139 let $positionTo :=
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
140 if ($pn = $countPages)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
141 then $countResult
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
142 else $pn * $pageSize
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
143
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
144 let $mode :=
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
145 if ($queryType = "fulltext" or $queryType = "fulltextMorph")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
146 then "text"
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
147 else "image"
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
148
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
149 let $pageResult :=
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
150 for $elem at $pos in $orderedAttrQueryResult
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
151 let $doc := $elem/fn:root() let $documentUriOrig := document-uri($doc)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
152 let $documentUri := substring-after($documentUriOrig, $docPath)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
153 let $docBase := substring-before(substring-after($documentUri, "/"), "/")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
154 let $metadata := mpdl-lucene:getMetadata($docBase, $doc)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
155 (: Performance: following is slow: why (would be better structured code) ?
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
156 let $attrAuthorStr := mpdl-lucene:getElemNameByAttr($docBase, "author")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
157 let $author := mpdl-lucene:getElemDynamic($metadataElem, $attrAuthorStr)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
158 :)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
159 let $authorElems := mpdl-lucene:getElementsByAttr($metadata, $docBase, "author")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
160 let $titleElems := mpdl-lucene:getElementsByAttr($metadata, $docBase, "title")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
161 let $placeElems := mpdl-lucene:getElementsByAttr($metadata, $docBase, "place")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
162 let $dateElems := mpdl-lucene:getElementsByAttr($metadata, $docBase, "date")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
163 let $authors := string-join($authorElems, ', ')
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
164 let $titles := string-join($titleElems, ', ')
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
165 let $places := string-join($placeElems, ', ')
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
166 let $dates := string-join($dateElems, ', ')
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
167 let $resultElem :=
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
168 if ($output = "html")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
169 then
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
170 <tr>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
171 <td valign="top" style="padding-left:5px;">{$pos}.</td>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
172 <td valign="top" style="padding-left:7px;"><a href="echo/echoDocuView.xql?document={$documentUri}"><img src="../images/book.png" width="15" height="15" border="0"/></a> </td>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
173 <td valign="top"><a href="/exist/rest{$docPathStandard}{$documentUri}" target="_blank"><img src="../images/download.png" width="15" height="15" border="0" alt="Download"/></a></td>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
174 <td valign="top" style="padding-left:5px;"><i>{$authors}</i></td>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
175 <td valign="top" style="padding-left:5px;">{$titles}</td>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
176 <td valign="top" style="padding-left:5px;">{$places}</td>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
177 <td valign="top" style="padding-left:5px;">{$dates}</td>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
178 </tr>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
179 else if ($output = "xml")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
180 then
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
181 <document>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
182 <position>{$pos}</position>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
183 <uri>{$documentUri}</uri>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
184 <author>{$authors}</author>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
185 <title>{$titles}</title>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
186 <place>{$places}</place>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
187 <date>{$dates}</date>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
188 </document>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
189 else ()
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
190 where $pos >= $positionFrom and $pos <= $positionTo
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
191 return $resultElem
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
192
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
193 let $attrQueryResultError := string($attrQueryResult/error)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
194
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
195 let $resultPageBody :=
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
196 if ($attrQueryResultError = '' and $countResult > 0)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
197 then
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
198 <form action="queryResult.xql" method="get">
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
199 <input type="hidden" name="docbase" value="{$docbase}"/>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
200 <input type="hidden" name="queryType" value="{$queryType}"/>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
201 <input type="hidden" name="attribute1" value="{$attribute1}"/>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
202 <input type="hidden" name="relOp1" value="{$relOp1}"/>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
203 <input type="hidden" name="attrQuery1" value="{$attrQuery1}"/>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
204 <input type="hidden" name="boolOp" value="{$boolOp}"/>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
205 <input type="hidden" name="attribute2" value="{$attribute2}"/>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
206 <input type="hidden" name="relOp2" value="{$relOp2}"/>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
207 <input type="hidden" name="attrQuery2" value="{$attrQuery2}"/>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
208 <input type="hidden" name="ftQuery" value="{$ftQuery}"/>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
209 <input type="hidden" name="ftMorphQuery" value="{$ftMorphQuery}"/>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
210 <input type="hidden" name="language" value="{$language}"/>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
211 <input type="hidden" name="pn" value="{$pn}"/>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
212 <input type="hidden" name="pageSize" value="{$pageSize}"/>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
213 <table width="100%" border="2" rules="groups">
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
214 <colgroup>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
215 <col width="3%"/>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
216 <col width="3%"/>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
217 <col width="3%"/>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
218 <col width="15%"/>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
219 <col width="51%"/>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
220 <col width="15%"/>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
221 <col width="6%"/>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
222 </colgroup>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
223 <thead>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
224 <tr>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
225 <th align="left" valign="top">
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
226 <button id="dummy" name="orderBy" value="{$orderBy}" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">No.</button>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
227 </th>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
228 <th align="left" valign="top"><button id="dummy" name="orderBy" value="{$orderBy}" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Echo</button></th>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
229 <th></th>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
230 <th align="left" valign="top">
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
231 <button name="orderBy" value="author" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Author</button>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
232 </th>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
233 <th align="left" valign="top">
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
234 <button name="orderBy" value="title" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Title</button>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
235 </th>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
236 <th align="left" valign="top">
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
237 <button name="orderBy" value="place" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Place</button>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
238 </th>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
239 <th align="left" valign="top">
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
240 <button name="orderBy" value="date" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Year</button>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
241 </th>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
242 </tr>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
243 </thead>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
244 <tbody>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
245 <tr/>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
246 {$pageResult}
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
247 </tbody>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
248 </table>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
249 </form>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
250 else if ($attrQueryResultError != '')
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
251 then (<b>Your query delivers an error: </b>, $attrQueryResultError)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
252 else (<b>Your query delivers no result</b>)
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
253
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
254 let $resultPage :=
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
255 if ($output = "html")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
256 then
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
257 <div class="queryResult">
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
258 <div class="queryResultHits" style="visibility:hidden">{$countResult}</div>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
259 <div class="queryResultPage">
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
260 {$resultPageBody}
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
261 </div>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
262 </div>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
263 else if ($output = "xml")
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
264 then
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
265 <result>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
266 <query>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
267 <type>{$queryType}</type>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
268 <language>{$language}</language>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
269 <docbase>{$docbase}</docbase>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
270 <ftQuery>{$ftQuery}</ftQuery>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
271 <ftMorphQuery>{$ftMorphQuery}</ftMorphQuery>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
272 </query>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
273 <queryResult>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
274 <size>{$countResult}</size>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
275 <page>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
276 <size>{$pageSize}</size>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
277 <pageNumber>{$pn}</pageNumber>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
278 <content>{$pageResult}</content>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
279 </page>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
280 </queryResult>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
281 </result>
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
282 else ()
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
283 return $resultPage
5589d865af7a Erstellung XQL/XSL Applikation
Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
parents:
diff changeset
284