Latest web development tutorials

Funciones de XQuery

XQuery 1.0, 2.0 XPath y XSLT 2.0 comparten la misma biblioteca.


Funciones de XQuery

XQuery contiene más de 100 funciones incorporadas. Estas funciones se pueden utilizar para los valores de cadena, numérico, fecha y hora, la comparación y la manipulación de nodo QName, la manipulación, la secuencia de valores booleanos, y así sucesivamente. También puede definir sus propias funciones en XQuery.


XQuery funciones integradas

función de XQuery URI de espacio:

http://www.w3.org/2005/02/xpath-functions

El prefijo de espacio de nombres por defecto es la función fn:.

Consejo: llamar al prefijo, como fn :: función menudo a través de la cadena fn (). Sin embargo, dado que la función fn: es el prefijo predeterminado del espacio de nombres, los nombres de las funciones no necesitan utilizar el prefijo cuando se le llama.

Usted puede encontrar la completa "en nuestro tutorial XPath incorporada Funciones de XQuery manual de referencia ."


Los ejemplos de llamadas a funciones

Las llamadas a funciones se pueden utilizar con una expresión. Consideremos el siguiente ejemplo:

Ejemplo 1: El elemento

<name>{upper-case($booktitle)}</name>

Ejemplo 2: En la expresión de ruta en el predicado

doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']

Ejemplo 3: Declaración de dejar

let $name := (substring($booktitle,1,4))


funciones definidas por el usuario XQuery

Si no puede encontrar la función XQuery requerida, puede escribir sus propias funciones.

O los usuarios pueden definir función personalizada consulta de base de datos separada.

gramática

declare function前缀:函数名($参数 AS 数据类型)
AS返回的数据类型
{
...函数代码...
}

Acerca de las funciones definidas por el usuario Notas:

  • Por favor, utilice la palabra clave función declare
  • Los nombres de funciones deben utilizar el prefijo
  • parámetro de tipo de datos es generalmente consistente con los datos definidos en el tipo de esquema XML
  • cuerpo de la función debe estar rodeado por llaves

En una sentencia de consulta Ejemplos de funciones definidas por el usuario:

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>