XQuery - Funzioni personalizzate
XQuery fornisce la capacità di scrivere funzioni personalizzate. Di seguito sono elencate le linee guida per creare una funzione personalizzata.
Usa la parola chiave declare function per definire una funzione.
Utilizza i tipi di dati definiti nello schema XML corrente
Racchiudere il corpo della funzione all'interno di parentesi graffe.
Prefisso il nome della funzione con uno spazio dei nomi XML.
La seguente sintassi viene utilizzata durante la creazione di una funzione personalizzata.
Sintassi
declare function prefix:function_name($parameter as datatype?...)
as returnDatatype?
{
function body...
};
Esempio
Il seguente esempio mostra come creare una funzione definita dall'utente in XQuery.
XQuery Expression
declare function local:discount($price as xs:decimal?,$percentDiscount as xs:decimal?) as xs:decimal? { let $discount := $price - ($price * $percentDiscount div 100) return $discount
};
let $originalPrice := 100 let $discountAvailed := 10
return ( local:discount($originalPrice, $discountAvailed))
Produzione
90
Verifica il risultato
Per verificare il risultato, sostituire il contenuto di books.xqy (fornito nel capitolo Configurazione dell'ambiente ) con l'espressione XQuery sopra ed eseguire il programma java XQueryTester.