Salve,

sto iniziando a fare alcune cose con xquery. Ho scritto un breve codice:

codice:
xquery version "1.0";
 
declare default element namespace "http://www.w3.org/1999/xhtml";
 
declare option exist:serialize "method=html media-type=text/html indent=yes";

declare namespace functx = "http://www.functx.com";

declare function functx:substring-after-last($string as xs:string?, $delim as xs:string) 
as xs:string? {
   if (contains ($string, $delim) )
   then functx:substring-after-last(substring-after($string, $delim), $delim)
   else $string
 };


for $title in //div
let $articolo := $title/h2
let $autore := $title/p[@class="firma"]
let $cognome := functx:substring-after-last($autore, " ")

where $title/@title="tag"
order by $cognome

return
<div>
<p class="autore">{data($autore)}</p>
<p class="articolo">{data($articolo)}</p>
</div>
Il codice funziona perfettamente con un programma di interpretazione xquery su mac, ma quando provo ad utilizzarlo con altri programmi che utilizzano saxon, mi viene segnalato errore: "prefix functx has not been declared".
Non conosco ancora bene il linguaggio e non capisco l'errore, se qualcuno potesse indicarmi dove sto sbagliando gliene sarei estremamente grato.

f.