view software/eXist/webapp/mpdl/_stuff/futureDev/highlight-matches-test.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 source

xquery version "1.0";

declare namespace xlink = "http://www.w3.org/1999/xlink";
declare namespace docc = "http://www.mpiwg-berlin.mpg.de/ns/mpdl/docc"; 

declare function docc:tagmatch($term as xs:string, $node as text(), $args as item()+) as element() {
  <span class="match">{$term}</span>
}; 

(: was originally in page-query-result.xql, does not work because match-any does not deliver results because fragment is not in fulltext index  :)

let $retPageFragment := 
  if ($mode = "image")
  then ()
  else doc:getFragmentBetween($docPath, "pb", $pn, $pn + 1)

let $returnPageFragmentTemp := util:parse($retPageFragment)  (: string2xml: returns a valid xml document for that string   :)

let $hitTemp := $returnPageFragmentTemp[match-any(.,"di")]
let $callback := util:function(QName("http://www.mpiwg-berlin.mpg.de/ns/mpdl/docc", "docc:tagmatch"), 3)
let $returnPageFragment := text:highlight-matches($hitTemp, $callback, ())