Mercurial > hg > mpdl-group
diff 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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/software/eXist/webapp/mpdl/_stuff/futureDev/highlight-matches-test.xql Tue Feb 08 15:16:46 2011 +0100 @@ -0,0 +1,21 @@ +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, ())