XQuery

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
XQuery
Класс языка Декларативный,функциональный,модульный
Появился в 2007
Разработчик W3C
Выпуск 3.1 (21 марта 2017)
Система типов Динамическаяилистатическая,строгая
Основные реализации Много
Сайт w3.org/XML/Query/
Логотип ВикискладаМедиафайлы на Викискладе

XQuery— язык запросов и функциональный язык программирования, разработанный для обработки данных в форматеXML,простого текста,JSONили других предметно-специфичных форматах. XQuery использует XML как свою модель данных. Предназначен для запроса и преобразования коллекций структурированных и неструктурированных данных.

XQuery 1.0 был разработан рабочей группой XML Query в составе организацииW3C.Эта работа координируется другой рабочей группой, работающей надXSLT2.0. Эти две группы разделяют ответственность заXPath2.0, входящий в состав XQuery 1.0.3 ноября2005 годаXQuery 1.0 получил статус W3C Candidate Recommendation, а23 января2007 годаXQuery 1.0, одновременно сXSLT2.0 иXPath2.0, получил статус официальной рекомендации (W3C Recommendation). В настоящее время ведутся работы по развитию этого стандарта, с добавлением выражений для свободного поиска по тексту и для внесения изменений в XML документы и базы данных, а также для процедурных операций.

XQuery версии 3.0 принят W3C 8 апреля 2014 года[1]

XQuery версии 3.1 принят W3C 21 марта 2017 года[2]

Несколько примеров, где используется XQuery:

  1. Выборка информации из баз данных с помощью веб-сервисов
  2. Формирование отчётов на основе данных в XML базах данных
  3. Поиск информации в текстовых документах
  4. Выборка и преобразование данных XML вXHTMLформат для публикации в вебе
  5. Сбор данных из нескольких баз данных для интеграционных приложений
  6. Разделение документа XML на несколько частей для выполнения отдельных множественных операций.

Простейшее корректное «Hello world» приложение на XQuery:

"Hello World"

В рамках стандартаSQL:2006разработаны механизмы для встраивания XQuery-запросов прямо вSQL-запросы:

<html><head/><body>
{
for $act in doc( "hamlet.xml" )//ACT
let $speakers:= distinct-values($act//SPEAKER)
return
<span>
<h1>{ $act/TITLE/text() }</h1>
<ul>
{
for $speaker in $speakers
return<li>{ $speaker }</li>
}
</ul>
</span>
}
</body>
</html>
  1. Архивированная копия.Дата обращения: 8 февраля 2019. Архивировано изоригинала24 апреля 2013 года.
  2. XQuery 3.1: An XML Query Language.Дата обращения: 8 февраля 2019.Архивировано9 февраля 2019 года.