Последние учебники веб-разработки
 

Функции XQuery


XQuery 1.0, XPath 2.0 и XSLT 2.0 разделяют те же функции библиотеки.


Функции XQuery

XQuery построен на XPath выражений. XQuery 1.0 и XPath 2.0 одни и те же модели данных и поддерживать одни и те же функции и операторы.

Операторы XPath

Функции XPath

Вы также можете определить свои собственные функции в XQuery.


Типы данных XQuery

XQuery разделяет те же типы данных , как XML Schema 1.0 (XSD) .

XSD Строка

XSD Дата

XSD Числовой

XSD Разное


Примеры вызовов функций

Вызов функции может появиться где может появиться выражение. Посмотрите на примерах ниже:

Пример 1: В элементе

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

Пример 2: В предикате выражения пути

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

Пример 3: В пункте пусть

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

XQuery определяемых пользователем функций

Если вы не можете найти функцию XQuery вам нужно, вы можете написать свой собственный.

Определяемые пользователем функции могут быть определены в запросе или в отдельной библиотеке.

Синтаксис

declare function Заметки о пользовательских функциях:

  • Используйте функцию объявить ключевое слово
  • Имя функции должно быть приставкой
  • Тип данных параметров в основном так же, как типы данных, определенных в XML-схеме
  • Тело функции должна быть в фигурных скобках

Пример определяемой пользователем функции Заявлен в запросе

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>