Учебники

XQuery — пользовательские функции

XQuery предоставляет возможность написания пользовательских функций. Ниже перечислены рекомендации по созданию пользовательских функций.

  • Используйте ключевое слово объявления функции, чтобы определить функцию.

  • Используйте типы данных, определенные в текущей XML-схеме

  • Заключите тело функции в фигурные скобки.

  • Префикс имени функции с пространством имен XML.

Используйте ключевое слово объявления функции, чтобы определить функцию.

Используйте типы данных, определенные в текущей XML-схеме

Заключите тело функции в фигурные скобки.

Префикс имени функции с пространством имен XML.

Следующий синтаксис используется при создании пользовательской функции.

Синтаксис

declare function prefix:function_name($parameter as datatype?...)
as returnDatatype?
{
   function body...
};

пример

В следующем примере показано, как создать пользовательскую функцию в XQuery.

XQuery Expression

declare function local:discount($price as xs:decimal?,$percentDiscount as xs:decimal?)
as xs:decimal? {
   let $discount := $price - ($price * $percentDiscount div 100) 
   return $discount
};

let $originalPrice := 100

let $discountAvailed := 10

return ( local:discount($originalPrice, $discountAvailed)) 

Выход

90

Проверьте результат

Чтобы проверить результат, замените содержимое файла books.xqy (приведенного в главе « Настройка среды» ) приведенным выше выражением XQuery и выполните Java-программу XQueryTester.