diff software/eXist/webapp/mpdl/interface/lt/lex.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/interface/lt/lex.xql	Tue Feb 08 15:16:46 2011 +0100
@@ -0,0 +1,42 @@
+xquery version "1.0";
+
+declare namespace request="http://exist-db.org/xquery/request";
+
+let $language := request:get-parameter("language", "")
+let $formName := request:get-parameter("form", "")
+let $luceneQuery := request:get-parameter("query", "")
+
+let $lexica := 
+  if ($formName != '')
+  then mpdltext:get-lex-entries-by-form-name($language, $formName)
+  else mpdltext:get-lex-entries-by-lucene-query($language, $luceneQuery)
+let $htmlLexica := 
+  if (empty($lexica))
+  then ("no lexical entries found for your query")
+  else 
+    for $lexicon in $lexica/lexica/lexicon
+      let $lexDescription := $lexicon/description
+      let $lexEntries := $lexicon/entries
+      let $liLexEntryContent :=
+        for $lexEntry in $lexicon/entries/entry
+          let $lexEntryContent := $lexEntry/content
+          let $lexEntryXmlValid := $lexEntryContent/xml-valid
+          let $lexEntryOriginalContent := $lexEntryContent/original-entry
+          let $lexEntryRepairedContent := $lexEntryContent/repaired-entry
+          let $lexEntryContentParsed := 
+            if ($lexEntryXmlValid = "true")
+            then util:parse($lexEntryRepairedContent)
+            else <bla><text>[<i>Remark: lexical entry in lexicon has no valid XML, so only the Betacode text version of the entry could be displayed</i>]</text><p></p>{$lexEntryOriginalContent}</bla>
+        return <li>{($lexEntryContentParsed)}</li>
+      let $lexiconLi := 
+        <li><b>{$lexDescription}</b>
+          <ul>{$liLexEntryContent}</ul>
+        </li>
+    return $lexiconLi
+
+let $retHtmlResult :=
+  <div>
+  {$htmlLexica} 
+  </div>
+
+return $retHtmlResult
\ No newline at end of file