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.