XQuery 1.0, XPath 2.0, y XSLT 2.0 cuota de la biblioteca mismas funciones.
Funciones de XQuery
XQuery se basa en expresiones XPath. XQuery 1.0 y XPath 2.0 comparten el mismo modelo de datos y admiten las mismas funciones y operadores.
También puede definir sus propias funciones en XQuery.
Tipos de Datos XQuery
XQuery comparte los mismos tipos de datos como XML Schema 1.0 (XSD) .
Los ejemplos de llamadas a funciones
Una llamada a una función puede aparecer donde puede aparecer una expresión. Mira los siguientes ejemplos:
Ejemplo 1: En un elemento
<name>{upper-case($booktitle)}</name>
Ejemplo 2: En el predicado de una expresión de ruta
doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']
Ejemplo 3: En una cláusula let
let $name := (substring($booktitle,1,4))
XQuery funciones definidas por el usuario
Si no puede encontrar la función de XQuery que necesita, puede escribir el suyo propio.
funciones definidas por el usuario se pueden definir en la consulta o en una biblioteca separada.
Sintaxis
declare function Notas sobre las funciones definidas por el usuario: - Usar la palabra clave función declare
- El nombre de la función debe tener el prefijo
- El tipo de datos de los parámetros son en su mayoría los mismos que los tipos de datos definidos en el esquema XML
- El cuerpo de la función debe estar rodeado por llaves
Ejemplo de una función definida por el usuario declarado en la consulta
declare function local:minPrice($p as xs:decimal?,$d as xs:decimal?)
as xs:decimal?
{
let $disc := ($p * $d) div 100
return ($p - $disc)
};
Below is an example of how to call the function above:
<minPrice>{local:minPrice($book/price,$book/discount)}</minPrice>