diff software/eXist/webapp/mpdl/attribute-query-result.xql @ 17:7e883ce72fec

diverse Fehlerbehebungen
author Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
date Tue, 27 Sep 2011 16:41:15 +0200
parents e99964f390e4
children
line wrap: on
line diff
--- a/software/eXist/webapp/mpdl/attribute-query-result.xql	Tue Sep 27 16:40:57 2011 +0200
+++ b/software/eXist/webapp/mpdl/attribute-query-result.xql	Tue Sep 27 16:41:15 2011 +0200
@@ -46,45 +46,80 @@
 let $docBaseArch := "archimedes"
 let $docBaseEcho := "echo"
 let $docBaseTei := "tei"
+let $docBaseDiverse := "diverse"
 let $fulltextMorphArchDocPath := concat($docPathMorph, "/", $docBaseArch, "/", $language)
 let $fulltextMorphEchoDocPath := concat($docPathMorph, "/", $docBaseEcho, "/", $language)
 let $fulltextMorphTeiDocPath := concat($docPathMorph, "/", $docBaseTei, "/", $language)
+let $fulltextMorphDiverseDocPath := concat($docPathMorph, "/", $docBaseDiverse, "/", $language)
 let $fulltextMorphCollection := 
-  if(contains($docbase, $docBaseArch) and contains($docbase, $docBaseEcho) and contains($docbase, $docBaseTei))
+  if(contains($docbase, $docBaseArch) and contains($docbase, $docBaseEcho) and contains($docbase, $docBaseTei) and contains($docbase, $docBaseDiverse))
+  then collection($fulltextMorphArchDocPath, $fulltextMorphEchoDocPath, $fulltextMorphTeiDocPath, $fulltextMorphDiverseDocPath)
+  else if(contains($docbase, $docBaseArch) and contains($docbase, $docBaseEcho) and contains($docbase, $docBaseTei) and not(contains($docbase, $docBaseDiverse)))
   then collection($fulltextMorphArchDocPath, $fulltextMorphEchoDocPath, $fulltextMorphTeiDocPath)
-  else if(contains($docbase, $docBaseArch) and contains($docbase, $docBaseEcho) and not(contains($docbase, $docBaseTei)))
+  else if(contains($docbase, $docBaseArch) and contains($docbase, $docBaseEcho) and not(contains($docbase, $docBaseTei)) and contains($docbase, $docBaseDiverse))
+  then collection($fulltextMorphArchDocPath, $fulltextMorphEchoDocPath, $fulltextMorphDiverseDocPath)
+  else if(contains($docbase, $docBaseArch) and not(contains($docbase, $docBaseEcho)) and contains($docbase, $docBaseTei) and contains($docbase, $docBaseDiverse))
+  then collection($fulltextMorphArchDocPath, $fulltextMorphTeiDocPath, $fulltextMorphDiverseDocPath)
+  else if(not(contains($docbase, $docBaseArch)) and contains($docbase, $docBaseEcho) and contains($docbase, $docBaseTei) and contains($docbase, $docBaseDiverse))
+  then collection($fulltextMorphEchoDocPath, $fulltextMorphTeiDocPath, $fulltextMorphDiverseDocPath)
+  else if(contains($docbase, $docBaseArch) and contains($docbase, $docBaseEcho) and not(contains($docbase, $docBaseTei)) and not(contains($docbase, $docBaseDiverse)))
   then collection($fulltextMorphArchDocPath, $fulltextMorphEchoDocPath)
-  else if(contains($docbase, $docBaseArch) and not(contains($docbase, $docBaseEcho)) and contains($docbase, $docBaseTei))
+  else if(contains($docbase, $docBaseArch) and not(contains($docbase, $docBaseEcho)) and not(contains($docbase, $docBaseTei)) and contains($docbase, $docBaseDiverse))
+  then collection($fulltextMorphArchDocPath, $fulltextMorphDiverseDocPath)
+  else if(not(contains($docbase, $docBaseArch)) and not(contains($docbase, $docBaseEcho)) and contains($docbase, $docBaseTei) and contains($docbase, $docBaseDiverse))
+  then collection($fulltextMorphTeiDocPath, $fulltextMorphDiverseDocPath)
+  else if(not(contains($docbase, $docBaseArch)) and contains($docbase, $docBaseEcho) and not(contains($docbase, $docBaseTei)) and contains($docbase, $docBaseDiverse))
+  then collection($fulltextMorphEchoDocPath, $fulltextMorphDiverseDocPath)
+  else if(not(contains($docbase, $docBaseArch)) and contains($docbase, $docBaseEcho) and contains($docbase, $docBaseTei) and not(contains($docbase, $docBaseDiverse)))
+  then collection($fulltextMorphEchoDocPath, $fulltextMorphTeiDocPath)
+  else if(contains($docbase, $docBaseArch) and not(contains($docbase, $docBaseEcho)) and contains($docbase, $docBaseTei) and not(contains($docbase, $docBaseDiverse)))
   then collection($fulltextMorphArchDocPath, $fulltextMorphTeiDocPath)
-  else if(not(contains($docbase, $docBaseArch)) and contains($docbase, $docBaseEcho) and contains($docbase, $docBaseTei))
-  then collection($fulltextMorphEchoDocPath, $fulltextMorphTeiDocPath)
-  else if(contains($docbase, $docBaseArch) and not(contains($docbase, $docBaseEcho)) and not(contains($docbase, $docBaseTei)))
+  else if(not(contains($docbase, $docBaseArch)) and not(contains($docbase, $docBaseEcho)) and not(contains($docbase, $docBaseTei)) and contains($docbase, $docBaseDiverse))
+  then collection($fulltextMorphDiverseDocPath)
+  else if(not(contains($docbase, $docBaseArch)) and not(contains($docbase, $docBaseEcho)) and contains($docbase, $docBaseTei) and not(contains($docbase, $docBaseDiverse)))
+  then collection($fulltextMorphTeiDocPath)
+  else if(not(contains($docbase, $docBaseArch)) and contains($docbase, $docBaseEcho) and not(contains($docbase, $docBaseTei)) and not(contains($docbase, $docBaseDiverse)))
+  then collection($fulltextMorphEchoDocPath)
+  else if(contains($docbase, $docBaseArch) and not(contains($docbase, $docBaseEcho)) and not(contains($docbase, $docBaseTei)) and not(contains($docbase, $docBaseDiverse)))
   then collection($fulltextMorphArchDocPath)
-  else if(not(contains($docbase, $docBaseArch)) and contains($docbase, $docBaseEcho) and not(contains($docbase, $docBaseTei)))
-  then collection($fulltextMorphEchoDocPath)
-  else if(not(contains($docbase, $docBaseArch)) and not(contains($docbase, $docBaseEcho)) and contains($docbase, $docBaseTei))
-  then collection($fulltextMorphTeiDocPath)
   else ()
 
 let $fulltextStandardArchDocPath := concat($docPathStandard, "/", $docBaseArch)
 let $fulltextStandardEchoDocPath := concat($docPathStandard, "/", $docBaseEcho)
 let $fulltextStandardTeiDocPath := concat($docPathStandard, "/", $docBaseTei)
+let $fulltextStandardDiverseDocPath := concat($docPathStandard, "/", $docBaseDiverse)
 let $fulltextStandardCollectionStr := 
-  if(contains($docbase, $docBaseArch) and contains($docbase, $docBaseEcho) and contains($docbase, $docBaseTei))
+  if(contains($docbase, $docBaseArch) and contains($docbase, $docBaseEcho) and contains($docbase, $docBaseTei) and contains($docbase, $docBaseDiverse))
+  then concat("collection('", $fulltextStandardArchDocPath, "', '", $fulltextStandardEchoDocPath, "', '", $fulltextStandardTeiDocPath, "', '", $fulltextStandardDiverseDocPath, "')")
+  else if(contains($docbase, $docBaseArch) and contains($docbase, $docBaseEcho) and contains($docbase, $docBaseTei) and not(contains($docbase, $docBaseDiverse)))
   then concat("collection('", $fulltextStandardArchDocPath, "', '", $fulltextStandardEchoDocPath, "', '", $fulltextStandardTeiDocPath, "')")
-  else if(contains($docbase, $docBaseArch) and contains($docbase, $docBaseEcho) and not(contains($docbase, $docBaseTei)))
+  else if(contains($docbase, $docBaseArch) and contains($docbase, $docBaseEcho) and not(contains($docbase, $docBaseTei)) and contains($docbase, $docBaseDiverse))
+  then concat("collection('", $fulltextStandardArchDocPath, "', '", $fulltextStandardEchoDocPath, "', '", $fulltextStandardDiverseDocPath, "')")
+  else if(contains($docbase, $docBaseArch) and not(contains($docbase, $docBaseEcho)) and contains($docbase, $docBaseTei) and contains($docbase, $docBaseDiverse))
+  then concat("collection('", $fulltextStandardArchDocPath, "', '", $fulltextStandardTeiDocPath, "', '", $fulltextStandardDiverseDocPath, "')")
+  else if(not(contains($docbase, $docBaseArch)) and contains($docbase, $docBaseEcho) and contains($docbase, $docBaseTei) and contains($docbase, $docBaseDiverse))
+  then concat("collection('", $fulltextStandardEchoDocPath, "', '", $fulltextStandardTeiDocPath, "', '", $fulltextStandardDiverseDocPath, "')")
+  else if(contains($docbase, $docBaseArch) and contains($docbase, $docBaseEcho) and not(contains($docbase, $docBaseTei)) and not(contains($docbase, $docBaseDiverse)))
   then concat("collection('", $fulltextStandardArchDocPath, "', '", $fulltextStandardEchoDocPath, "')")
-  else if(contains($docbase, $docBaseArch) and not(contains($docbase, $docBaseEcho)) and contains($docbase, $docBaseTei))
+  else if(contains($docbase, $docBaseArch) and not(contains($docbase, $docBaseEcho)) and not(contains($docbase, $docBaseTei)) and contains($docbase, $docBaseDiverse))
+  then concat("collection('", $fulltextStandardArchDocPath, "', '", $fulltextStandardDiverseDocPath, "')")
+  else if(not(contains($docbase, $docBaseArch)) and not(contains($docbase, $docBaseEcho)) and contains($docbase, $docBaseTei) and contains($docbase, $docBaseDiverse))
+  then concat("collection('", $fulltextStandardTeiDocPath, "', '", $fulltextStandardDiverseDocPath, "')")
+  else if(not(contains($docbase, $docBaseArch)) and contains($docbase, $docBaseEcho) and not(contains($docbase, $docBaseTei)) and contains($docbase, $docBaseDiverse))
+  then concat("collection('", $fulltextStandardEchoDocPath, "', '", $fulltextStandardDiverseDocPath, "')")
+  else if(not(contains($docbase, $docBaseArch)) and contains($docbase, $docBaseEcho) and contains($docbase, $docBaseTei) and not(contains($docbase, $docBaseDiverse)))
+  then concat("collection('", $fulltextStandardEchoDocPath, "', '", $fulltextStandardTeiDocPath, "')")
+  else if(contains($docbase, $docBaseArch) and not(contains($docbase, $docBaseEcho)) and contains($docbase, $docBaseTei) and not(contains($docbase, $docBaseDiverse)))
   then concat("collection('", $fulltextStandardArchDocPath, "', '", $fulltextStandardTeiDocPath, "')")
-  else if(not(contains($docbase, $docBaseArch)) and contains($docbase, $docBaseEcho) and contains($docbase, $docBaseTei))
-  then concat("collection('", $fulltextStandardEchoDocPath, "', '", $fulltextStandardTeiDocPath, "')")
-  else if(contains($docbase, $docBaseArch) and not(contains($docbase, $docBaseEcho)) and not(contains($docbase, $docBaseTei)))
+  else if(not(contains($docbase, $docBaseArch)) and not(contains($docbase, $docBaseEcho)) and not(contains($docbase, $docBaseTei)) and contains($docbase, $docBaseDiverse))
+  then concat("collection('", $fulltextStandardDiverseDocPath, "')")
+  else if(not(contains($docbase, $docBaseArch)) and not(contains($docbase, $docBaseEcho)) and contains($docbase, $docBaseTei) and not(contains($docbase, $docBaseDiverse)))
+  then concat("collection('", $fulltextStandardTeiDocPath, "')")
+  else if(not(contains($docbase, $docBaseArch)) and contains($docbase, $docBaseEcho) and not(contains($docbase, $docBaseTei)) and not(contains($docbase, $docBaseDiverse)))
+  then concat("collection('", $fulltextStandardEchoDocPath, "')")
+  else if(contains($docbase, $docBaseArch) and not(contains($docbase, $docBaseEcho)) and not(contains($docbase, $docBaseTei)) and not(contains($docbase, $docBaseDiverse)))
   then concat("collection('", $fulltextStandardArchDocPath, "')")
-  else if(not(contains($docbase, $docBaseArch)) and contains($docbase, $docBaseEcho) and not(contains($docbase, $docBaseTei)))
-  then concat("collection('", $fulltextStandardEchoDocPath, "')")
-  else if(not(contains($docbase, $docBaseArch)) and not(contains($docbase, $docBaseEcho)) and contains($docbase, $docBaseTei))
-  then concat("collection('", $fulltextStandardTeiDocPath, "')")
-  else ""
+  else ()
 let $metadataStr := concat("(", $fulltextStandardCollectionStr, "/archimedes/info", "|" , $fulltextStandardCollectionStr, "/echo:echo/echo:metadata", "|" , $fulltextStandardCollectionStr, "/TEI:TEI/TEI:teiHeader", ")")
 let $fulltextStandardCollection := 
   if($fulltextStandardCollectionStr != "")
@@ -172,9 +207,14 @@
   for $elem at $pos in $orderedAttrQueryResult
     let $doc := $elem/fn:root()
    let $documentUriOrig := document-uri($doc)
     let $documentName := util:document-name($doc)
-    let $documentCollection := replace(string($documentUriOrig), "(.+)/.+xml", "$1")
+    let $documentCollection := replace(string($documentUriOrig), "(.+)/.+\..*", "$1")
     let $documentUri := substring-after($documentUriOrig, $docPath)
     let $documentUriWithoutExtension := substring-before($documentUri, ".")
+    let $documentExtension := substring-after($documentUri, ".")
+    let $documentUriHtml := 
+      if ($documentExtension = "html")
+      then concat($documentUriWithoutExtension, "-gen.html")
+      else concat($documentUriWithoutExtension, ".html")
     (: let $lastModified := replace(substring-before(string(xmldb:last-modified($documentCollection, $documentName)), "."), "T", " ")  :)
     let $lastModified := substring-before(string(xmldb:last-modified($documentCollection, $documentName)), ".")
     let $docBase := substring-before(substring-after($documentUri, "/"), "/")
@@ -200,11 +240,12 @@
         <td align="middle" valign="top" style="padding-left:7px;"><a href="page-query-result.xql?document={$documentUri}&amp;mode={$mode}{$queryUrlPart}"><img src="images/book.png" width="15" height="15" border="0"/></a> </td>
         <td align="middle" valign="top"><a href="getDoc?doc={$documentUri}" target="_blank"><img src="images/download.png" width="15" height="15" border="0" alt="Download"/></a></td>
         <td align="middle" valign="top"><a href="getDoc?doc={$documentUriWithoutExtension}.pdf"><img src="images/download.png" width="15" height="15" border="0" alt="Download"/></a></td>
-        <td align="middle" valign="top"><a href="getDoc?doc={$documentUriWithoutExtension}.html" target="_blank"><img src="images/download.png" width="15" height="15" border="0" alt="Download"/></a></td>
+        <td align="middle" valign="top"><a href="getDoc?doc={$documentUriHtml}" target="_blank"><img src="images/download.png" width="15" height="15" border="0" alt="Download"/></a></td>
         <td valign="top" style="padding-left:5px;"><i>{$authors}</i></td>
         <td valign="top" style="padding-left:5px;">{$titles}</td>
         <td valign="top" style="padding-left:5px;">{$places}</td>
         <td valign="top" style="padding-left:5px;">{$dates}</td>
+        <td valign="top" style="padding-left:5px;">{$documentName}</td>
         <td valign="top" style="padding-left:5px;">{$langs}</td>
         <td valign="top" style="padding-left:5px;">{$docBase}</td>
         <td valign="top" style="padding-left:5px;">{$lastModified}</td>
@@ -313,6 +354,7 @@
       <col width="35%"/>
       <col width="5%"/>
       <col width="6%"/>
+      <col width="6%"/>
       <col width="3%"/>
       <col width="3%"/>
       <col width="3%"/>
@@ -324,7 +366,7 @@
       </th>
       <th align="left" valign="top"><button id="dummy" name="order-by" value="{$orderBy}" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Full view</button></th>
       <th align="left" valign="top"><button id="dummy" name="order-by" value="{$orderBy}" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Lite view</button></th>
-      <th align="left" valign="top"><button id="dummy" name="order-by" value="{$orderBy}" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Xml</button></th>
+      <th align="left" valign="top"><button id="dummy" name="order-by" value="{$orderBy}" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Orig</button></th>
       <th align="left" valign="top"><button id="dummy" name="order-by" value="{$orderBy}" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Pdf</button></th>
       <th align="left" valign="top"><button id="dummy" name="order-by" value="{$orderBy}" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Html</button></th>
       <th align="left" valign="top">
@@ -340,6 +382,9 @@
         <button name="order-by" value="date" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Year</button>
       </th>
       <th align="left" valign="top">
+        <button name="order-by" value="document" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Document</button>
+      </th>
+      <th align="left" valign="top">
         <button name="order-by" value="language" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Language</button>
       </th>
       <th align="left" valign="top"><button id="dummy" name="order-by" value="{$orderBy}" style="padding:0px;font-weight:bold;font-size:14px;background:none;border:none;">Schema</button></th>