diff software/eXist/webapp/mpdl/page-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/page-query-result.xql	Tue Sep 27 16:40:57 2011 +0200
+++ b/software/eXist/webapp/mpdl/page-query-result.xql	Tue Sep 27 16:41:15 2011 +0200
@@ -39,7 +39,7 @@
 let $reqExport := request:get-parameter("export", "")
 let $options := string(request:get-parameter("options", ""))
 
-let $presentationPath := "/db/mpdl/presentation"
+let $presentationPath := "/mpdl/presentation"
 (: e.g. mpdlCollectioName is derived from mpdlDocUri: /archimedes/la/yourDoc.xml  :)
 let $documentName := substring-before(substring-after(substring-after(substring-after($mpdlDocUri, "/"), "/"), "/"), ".")
 let $language := substring-before(substring-after(substring-after($mpdlDocUri, "/"), "/"), "/")
@@ -60,7 +60,7 @@
   then $document/echo:echo/echo:metadata
   else if ($docbase = 'tei')
   then $document/TEI:TEI/TEI:teiHeader
-  else ''
+  else ()
 
 let $pageBreaks := 
   if ($docbase = 'archimedes')
@@ -69,7 +69,7 @@
   then $document//echo:pb
   else if ($docbase = 'tei')
   then $document//TEI:pb
-  else $document//pb
+  else $document//*:pb
 let $countPagesTemp := count($pageBreaks)
 let $countPages := 
   if ($countPagesTemp > 0)
@@ -288,12 +288,13 @@
   else false()
 let $returnPageFragmentWithExtObjects :=
   <result>
+    <options>{$options}</options>
     <externalElements>{$externalElements}</externalElements>
     <xpointer>{$xPointer}</xpointer>
     <fragment>{$returnPageFragmentTmp}</fragment>
   </result>
 let $returnPageFragment := 
-  if (contains($options, "withXmlNodeId") or $containsExternalElements or $xPointer != '')
+  if (contains($options, "withXmlNodeId") or contains($options, "withIdentifier") or $containsExternalElements or $xPointer != '')
   then mpdl-text:transform($returnPageFragmentWithExtObjects, concat($presentationPath, "/insertExternalElements.xsl"))
   else $returnPageFragmentTmp
 
@@ -412,12 +413,13 @@
   then <error><number>{$errorCode}</number><description>View mode {$mode} not available</description></error>
   else <error><number>{$errorCode}</number><description>undefined error: {$errorCode}</description></error>  
 
-let $declare := 
+let $outputProperties := 
   if ($errorCode > 9 or $mode = "text" or $mode = "textPollux" or $mode = "gis" or $mode = "image" or $mode = "xml")
-  then util:declare-option("exist:serialize", "method=xhtml media-type=text/html omit-xml-declaration=no indent=no encoding=utf-8")
+  then "method=xhtml media-type=text/html omit-xml-declaration=no indent=no encoding=utf-8"
   else if ($mode = "pureXml")
-  then util:declare-option("exist:serialize", "method=xml media-type=text/xml omit-xml-declaration=no indent=yes encoding=utf-8")
-  else util:declare-option("exist:serialize", "method=xml media-type=text/xml omit-xml-declaration=no indent=yes encoding=utf-8")
+  then "method=xml media-type=text/xml omit-xml-declaration=no indent=yes encoding=utf-8"
+  else "method=xml media-type=text/xml omit-xml-declaration=no indent=yes encoding=utf-8"
+let $declare := util:declare-option("exist:serialize", $outputProperties)
 let $xslFilePath := 
   if($reqExport = "pdf")
   then concat($presentationPath, "/pageFragmentHtml.xsl")
@@ -429,8 +431,10 @@
 let $tmpResult :=
   if ($errorCode < 10 and $reqExport = "pdf")
   then mpdl-text:html2pdf($language, $xmlResult, $xslFilePath, $titleStr, $pn, $mode) 
+  else if ($errorCode < 10 and $reqExport = "pureXml")
+  then $xmlResult
   else if ($errorCode < 10 and not($reqExport = "pdf"))
-  then mpdl-text:transform($xmlResult, $xslFilePath) 
+  then mpdl-text:transform($xmlResult, $xslFilePath)
   else 
     <div>{$xmlResult}</div>  (:  error xml result  :)
 let $result :=