Il miglior tutorial Funzioni XQuery Nel 2024, in questo tutorial puoi imparare Funzioni XQuery,XQuery funzioni incorporate,Esempi di chiamate di funzione,Le funzioni definite dall'utente XQuery,

Funzioni XQuery

XQuery 1.0, XPath 2.0 e XSLT 2.0 condividono la stessa libreria.


Funzioni XQuery

XQuery contiene oltre 100 funzioni built-in. Queste funzioni possono essere utilizzate per i valori di stringa, numerico, data e confronto di tempo, il nodo e la manipolazione QName, manipolazione sequenza, valori booleani, e così via. È inoltre possibile definire le proprie funzioni in XQuery.


XQuery funzioni incorporate

funzione XQuery namespace URI:

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

Il prefisso namespace funzione di default è fn:.

Suggerimento: chiamare il prefisso, come fn :: funzione spesso attraverso stringa fn (). Tuttavia, dal momento che fn: è il prefisso di default dello spazio dei nomi, i nomi delle funzioni non hanno bisogno di usare il prefisso quando viene chiamato.

È possibile trovare il completo "nel nostro tutorial XPath funzioni built-in XQuery manuale di riferimento ."


Esempi di chiamate di funzione

Le chiamate di funzione possono essere utilizzati con una espressione. Si consideri il seguente esempio:

Esempio 1: L'elemento

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

Esempio 2: Nell'espressione percorso nel predicato

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

Esempio 3: lasciare dichiarazione

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


Le funzioni definite dall'utente XQuery

Se non è possibile trovare la funzione XQuery richiesto, è possibile scrivere le proprie funzioni.

O gli utenti possono definire funzione personalizzata query di database separato.

grammatica

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

A proposito di funzioni definite dall'utente Note:

  • Si prega di utilizzare la parola chiave function declare
  • I nomi delle funzioni devono utilizzare il prefisso
  • Parametro Tipo di dati è in generale in linea con i dati definiti nel tipo XML Schema
  • corpo della funzione deve essere circondata da parentesi graffe

In una dichiarazione di query esempi funzione definiti dall'utente:

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>
Funzioni XQuery
10/30