Zorba (процессор XQuery) - Zorba (XQuery processor)

Зорба это процессор запросов с открытым исходным кодом, написанный на C ++, реализуя

  • несколько W3C XQuery и XML спецификации и
  • то JSONiq язык для обработки JSON данные.

Зорба распространяется под Лицензия Apache, Версия 2.0. Проект в основном поддерживается Фонд FLWOR, Oracle, и 28 мсек.

Характеристики

Зорба обеспечивает реализацию следующих W3C технические характеристики:

Zorba также предоставляет реализации:

Сценарии

Расширение сценариев - это открытая спецификация, которая обеспечивает семантику побочных эффектов в программах XQuery или JSONiq, а также удобный синтаксис для императивное программирование в таких программах. Следующий фрагмент кода является примером синтаксиса сценариев. Он вычисляет последовательность, содержащую все числа Фибоначчи, которые меньше 100.

(: это оператор объявления переменной :)Переменная $а в качестве xs: целое число := 0;Переменная $б в качестве xs: целое число := 1;Переменная $c в качестве xs: целое число := $а + $б;Переменная $фибсек в качестве xs: целое число* := ($а, $б);пока ($c lt 100) {   (: это оператор присваивания переменной :)   $фибсек := ($фибсек, $c);   $а := $б;   $б := $c;   $c := $а + $б;}$фибсек

Ниже приводится пример CRUD операции с использованием сценариев, XQuery и XQuery Update.

Переменная $магазины := док("store.xml")/магазины;
(: Создавать :)вставлять узел <хранить><store-number>4</store-number><государственный>Нью-Йорк</государственный></магазин> в магазины $;
(: Обновлять :)заменять ценить из узел $магазины/хранить[государственный=«Нью-Йорк»]/номер магазина с "5";
(: Удалить :)Удалить узел $магазины/хранить[государственный != «Нью-Йорк»];
(: Читать :)$магазины

Средство определения данных

Средство определения данных обеспечивает семантику для постоянных артефактов, таких как коллекции и индексы в программах XQuery или JSONiq. Например, следующие фрагменты кода объявляют коллекцию с именем записи и индекс этой коллекции с именем Вход.

модуль пространство имен грамм = "http://www.zorba-xquery.com/guestbook";импорт модуль пространство имен db = "http://www.zorba-xquery.com/modules/store/static/collections/dml";объявить пространство имен ан = "http://www.zorba-xquery.com/annotations";(: Объявляет коллекцию с именем entry :)объявить коллекция грамм:записи в качестве элемент(Вход);(: Объявляет переменную, указывающую на коллекцию g: entries :)объявить Переменная $g: записи := xs: QName('г: записи');(: Объявляет указатель с именем запись поверх коллекции записей :)объявить % an: автоматический % равенство значенийиндексg: запись  на узлы db:коллекция(xs: QName('г: записи'))  к хз:нить(@я бы) в качестве xs: строка;

Место хранения

Zorba предоставляет подключаемое хранилище, поэтому его можно использовать в различных средах: диск, база данных, браузер. По умолчанию Zorba построен с основным хранилищем памяти.28 мсек реализует магазин поверх MongoDB. XQuery в браузере Project создал плагин для браузера Zorba и использует DOM в качестве своего хранилища.

API

Зорба можно использовать через разные языки хоста: C ++, C, XQJ / Java, PHP, Python, C #, Ruby и даже XQuery / JSONiq.

Зорба также доступен как инструмент командной строки.

XQDT это плагин XQuery для Eclipse (IDE). Он полностью поддерживает Zorba API и синтаксис.

Модули

Zorba предоставляет более 70 модулей XQuery для создания приложений. Некоторые из этих модулей:

  • Файловая система, электронная почта, HTTP-клиент, OAuth-клиент
  • Обработка моделей данных XQuery и JSONiq: типизация, атомарные элементы и узлы.
  • Полнотекстовые: токенизатор, стеммер, тезаурус.
  • Очистка данных: фонетическое сходство, набор сходств, преобразования.
  • Преобразование данных: Base64, CSV, HTML, JSON, XML.
  • Форматирование данных: XSL-FO
  • Самоанализ и размышление
  • Криптография
  • Обработка изображений

внешняя ссылка