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