XQuery proporciona la capacidad de escribir funciones personalizadas. A continuación se enumeran las pautas para crear una función personalizada.
Usa la palabra clave declare function para definir una función.
Utilice los tipos de datos definidos en el esquema XML actual
Encierra el cuerpo de función dentro de llaves.
Prefije el nombre de la función con un espacio de nombres XML.
La siguiente sintaxis se utiliza al crear una función personalizada.
Sintaxis
declare function prefix:function_name($parameter as datatype?...)
as returnDatatype?
{
function body...
};
Ejemplo
El siguiente ejemplo muestra cómo crear una función definida por el usuario en XQuery.
Expresión XQuery
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))
Salida
90
Verificar el resultado
Para verificar el resultado, reemplace el contenido de books.xqy (dado en el capítulo Configuración del entorno ) con la expresión XQuery anterior y ejecute el programa java XQueryTester.