Описание тега xquery

XQuery - это функциональный язык, предназначенный для запроса и обработки XML-данных. Это расширенный набор XPath, к которому он добавляет такие функции, как создание новых узлов и более мощные выражения FLWOR. Хотя XQuery использует свою модель данных совместно с XSLT, он оптимизирован для запросов, а не для преобразования данных, и поэтому он имеет другой дизайн, вдохновленный SQL.

W3C XML-запрос

XQuery имеет богатый набор функций, которые позволяют выполнять множество различных типов операций с данными и документами xml, включая:

  • Выбор информации по определенным критериям
  • Фильтрация нежелательной информации
  • Обновления
  • Поиск информации в документе или наборе документов
  • Объединение данных из нескольких документов или коллекций документов
  • Сортировка, группировка и агрегирование данных
  • Преобразование и реструктуризация данных XML в другой словарь
    или структуру XML
  • Выполнение арифметических вычислений чисел и дат
  • Манипулирование строками для переформатирования текста

XQuery можно использовать не только для извлечения разделов XML-документов, но также для управления и преобразования результатов.

Изменено из O'Reilly XQUERY ISBN-10: 0-596-00634-9 Присциллы Уолмсли.

Связь с XSLT

XQuery во многом пересекается с xslt с точки зрения назначения, но его синтаксис и модель во многом вдохновлены sql. Большинство встроенных функций используются совместно с XSLT.

Связь с XPath

XQuery - это в основном надмножество xpath. XQuery версии 1 основан на XPath версии 2. XQuery версии 3 основан на XPath версии 3. Версия 2 была пропущена, чтобы согласовать номера версий XQuery и XPath. XQuery 3.1, как и XPath 3.1, поддерживает обработку JSON с помощью новых типов карт и массивов, а также преобразование JSON <--> XML с использованием xml-to-json а также json-to-xml функции, а также parse-json а также json-doc функции.

Реализации

  • Список текущих реализаций согласно группе запросов W3C XML.
  • Версия 9.8 и новее процессора Saxon поддерживают как XSLT 3.0, так и XQuery 3.1.
  • BaseX реализует все версии языка и может использоваться через интерфейс командной строки.

Ссылки

Онлайн обучение

Книги