comparison software/eXist/webapp/mpdl/interface/lt/lemma.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 import module namespace mpdl-time = "http://www.mpiwg-berlin.mpg.de/ns/mpdl/util/time" at "../../util/time.xql";
4
5 declare namespace request="http://exist-db.org/xquery/request";
6
7 let $language := request:get-parameter("language", "")
8 let $lemmaName := request:get-parameter("lemma", "")
9 let $formName := request:get-parameter("form", "")
10 let $luceneQuery := request:get-parameter("query", "")
11
12 let $currentTimeBegin := util:system-time()
13
14 let $lemmas :=
15 if ($formName != '')
16 then mpdltext:get-lemmas-by-form-name($language, $formName)
17 else if ($lemmaName != '')
18 then mpdltext:get-lemma($language, $lemmaName)
19 else mpdltext:get-lemmas-by-lucene-query($language, $luceneQuery)
20 let $orderedLemmas :=
21 if (empty($lemmas))
22 then ("no lemmas found for your query")
23 else
24 for $lemma in $lemmas/lemmas/lemma
25 let $lemmaText := concat($lemma/lemma-name, " (", $lemma/provider, ")")
26 let $orderedForms :=
27 for $form in $lemma/forms/form
28 let $formNameText := $form/form-name
29 let $providerText := $form/provider
30 let $liForm := <li>{$formNameText} ({$providerText})</li>
31 order by $form/form-name
32 return $liForm
33 let $lemmaLi :=
34 <li><b>Lemma: </b>{$lemmaText}
35 <ul>{$orderedForms}</ul>
36 </li>
37 order by $lemma/lemma-name
38 return $lemmaLi
39
40 let $queryResultHeaderStr :=
41 if ($formName != '')
42 then <h3>Mpdl-Donatus: Lemmas and forms: Result of your query: Language={$language}, Form={$formName}</h3>
43 else if ($lemmaName != '')
44 then <h3>Mpdl-Donatus: Lemmas and forms: Result of your query: Language={$language}, Lemma={$lemmaName}</h3>
45 else <h3>Mpdl-Donatus: Lemmas and forms: Result of your query: Language={$language}, Query={$luceneQuery}</h3>
46
47 let $currentTimeEnd := util:system-time()
48 let $neededTime := mpdl-time:duration-as-ms($currentTimeEnd - $currentTimeBegin)
49
50 let $retHtmlResult :=
51 <html>
52 <head>
53 <title>Lemmas and forms</title>
54 </head>
55 <body>
56 {$queryResultHeaderStr}
57 <p/>
58 {$orderedLemmas}
59 <p/>
60 </body>
61 </html>
62
63 return $retHtmlResult