Functions and recursion
Simple function with two parameters
xquery version "3.0";
declare function local:greet($name as xs:string, $lang as xs:string?) as xs:string {
if ($lang = "de") then
"Hallo " || $name
else if ($lang = "es") then
"Hola " || $name
else
"Hello " || $name
};
local:greet("Susi", "de"),
local:greet("Susi", "es"),
local:greet("Susi", "en"),
local:greet("Susi", ())
Recursion: compute the factorial of a given integer
xquery version "1.0";
declare function local:fact($n as xs:integer) {
if ($n eq 1) then
$n
else
$n * local:fact($n - 1)
};
local:fact(6)