Skip to content
Snippets Groups Projects
Commit 6f2cb230 authored by Jerome Chauveau's avatar Jerome Chauveau
Browse files

eval user custom document.xq when exists

parent b63bb270
No related branches found
No related tags found
No related merge requests found
......@@ -10,21 +10,26 @@ import module namespace i18n = "https://certic.unicaen.fr/max/i18n" at '../../..
import module namespace database = "https://certic.unicaen.fr/max/database" at '../../../core/database.xqm';
import module namespace errors = "https://certic.unicaen.fr/max/errors" at '../../../core/errors.xqm';
declare function dumb-xml:doc-to-html($document as document-node(), $lang as xs:string){
declare function dumb-xml:doc-to-html($document as document-node(), $lang as xs:string) as element(html){
let $customXQ := file:current-dir()|| '/xq/document.xq'
let $content := if(file:exists($customXQ))
then xquery:eval(xs:anyURI($customXQ), map {'doc': $document, 'lang': $lang})
else
(:generate random http link to an identified node in $document:)
let $identifiers:= $document//*/@xml:id/string()
let $n := count($identifiers)
let $r := random:integer($n) + 1
let $target := $identifiers[$r]
let $href := fn:replace(request:path(),'.html', '') || '/id/' || $target || '.html'
let $content := <div>
return
<div>
<h2>{i18n:translate('raw', $lang)} | {fn:replace(fn:base-uri($document), '/' || $database:max-db || '/', '')}</h2>
{$document}
<nav>
<h3><a href="{$href}">{i18n:translate('random-link', $lang)} ({$target})</a></h3>
</nav>
</div>
return templating:render('page.html', map {'content': $content, 'lang': $lang})
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment