Los últimos tutoriales de desarrollo web
 

Funciones de XQuery


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.

Los operadores XPath

Funciones XPath

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) .

XSD cadena

XSD Fecha

XSD numérico

Varios 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>