tutoriais mais recente desenvolvimento web
 

Funções XQuery


XQuery 1.0, XPath 2.0 e XSLT 2.0 compartilhar a biblioteca mesmas funções.


Funções XQuery

XQuery é construído em expressões XPath. XQuery 1.0 e XPath 2.0 compartilham o mesmo modelo de dados e apoiar as mesmas funções e operadores.

Operadores XPath

Funções XPath

Você também pode definir suas próprias funções em XQuery.


Tipos xquery

XQuery compartilha os mesmos tipos de dados como XML Schema 1.0 (XSD) .

XSD de Cordas

XSD Data

XSD numérico

XSD Diversos


Exemplos de chamadas de função

Uma chamada para uma função pode aparecer onde uma expressão pode aparecer. Veja os exemplos abaixo:

Exemplo 1: Em um elemento

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

Exemplo 2: No predicado de uma expressão de caminho

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

Exemplo 3: Em uma cláusula let

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

XQuery Funções definidas pelo usuário

Se você não consegue encontrar a função XQuery que você precisa, você pode escrever o seu próprio.

funções definidas pelo usuário pode ser definido na consulta ou em uma biblioteca separada.

Sintaxe

declare function Notas sobre funções definidas pelo usuário:

  • Utilizar a palavra-chave função declare
  • O nome da função deve ser prefixado
  • O tipo de dados de parâmetros são principalmente o mesmo que os tipos de dados definidos no esquema XML
  • O corpo da função deve ser cercada por chaves

Exemplo de uma função definida pelo utilizador declarado na 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>