diff software/eXist/webapp/mpdl/page-query-result.xql @ 13:469d927b9ca7

diverse Fehlerbehebungen
author Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
date Tue, 19 Apr 2011 16:51:59 +0200
parents d6f528ad5d96
children e99964f390e4
line wrap: on
line diff
--- a/software/eXist/webapp/mpdl/page-query-result.xql	Tue Apr 19 16:51:26 2011 +0200
+++ b/software/eXist/webapp/mpdl/page-query-result.xql	Tue Apr 19 16:51:59 2011 +0200
@@ -21,6 +21,7 @@
 let $reqPN := number(request:get-parameter("pn", "-1"))
 let $reqPF := request:get-parameter("pf", "")
 let $reqSN := number(request:get-parameter("sn", "-1"))
+let $xPointer := request:get-parameter("xpointer", "")
 let $query := request:get-parameter("query", "")
 let $reqQueryResultPN := request:get-parameter("query-result-pn", "")
 let $queryResultPN := 
@@ -273,7 +274,7 @@
   else ()
 let $returnPageFragmentTmp := util:parse($retPageFragment)  (: returns a valid xml document for that string   :)  
 
-let $externalElementsTmpTmp := mpdltext:externalObject("read", "element", concat("<object uid='joe' documentId='", $mpdlDocUri, "' pageNumber='", $pn, "'></object>"))
+let $externalElementsTmpTmp := mpdltext:externalObject("read", "element", concat("<object uid=&quot;joe&quot; documentId=&quot;", $mpdlDocUri, "&quot; xpointer=&quot;", "#xpointer(id(", "'page", $pn, "'", "))&quot;></object>"))
 let $externalElementsTmp := 
   if(not($externalElementsTmpTmp = ""))
   then util:parse($externalElementsTmpTmp)
@@ -286,10 +287,11 @@
 let $returnPageFragmentWithExtObjects :=
   <result>
     <externalElements>{$externalElements}</externalElements>
+    <xpointer>{$xPointer}</xpointer>
     <fragment>{$returnPageFragmentTmp}</fragment>
   </result>
 let $returnPageFragment := 
-  if (contains($options, "withXmlNodeId") or $containsExternalElements)
+  if (contains($options, "withXmlNodeId") or $containsExternalElements or $xPointer != '')
   then mpdl-text:transform($returnPageFragmentWithExtObjects, concat($presentationPath, "/insertExternalElements.xsl"))
   else $returnPageFragmentTmp
 
@@ -399,7 +401,7 @@
       <performance>{$neededTime}</performance>
     </result>
   else if ($errorCode = 10)
-  then <error><number>{$errorCode}</number><description>Fulltext document: {$mpdlDocUri} is not available yet</description></error>
+  then <error><number>{$errorCode}</number><description>Can't find fulltext document: {$mpdlDocUri} </description></error>
   else if ($errorCode = 11)
   then <error><number>{$errorCode}</number><description>No result: Page {$pn} not found</description></error>
   else if ($errorCode = 12)
@@ -408,7 +410,7 @@
 
 let $declare := 
   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=yes encoding=utf-8")
+  then util:declare-option("exist:serialize", "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")