XQuery

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

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

XQuery 1.0 был разработан рабочей группой XML Query в составе организации W3C. Эта работа координируется другой рабочей группой, работающей над XSLT 2.0. Эти две группы разделяют ответственность за XPath 2.0, входящий в состав XQuery 1.0. 3 ноября 2005 года XQuery 1.0 получил статус W3C Candidate Recommendation, а 23 января 2007 года XQuery 1.0, одновременно с XSLT 2.0 и XPath 2.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 года.

Ссылки

  • http://www.w3.org/TR/xquery/
  • http://www.w3.org/TR/xslt20/
  • http://www.w3.org/TR/xpath20/
  • Sedna — российская XML-СУБД Sedna
  • BaseX — открытая реализация XML Database на основе XPath, XQuery
  • http://exist.sourceforge.net/ Открытая реализация native XML database на основе XQuery
  • http://xqib.org/ Плагин для IE и Firefox, позволяющий использовать XQuery в качестве скриптового языка
  • Деревянко А. С. Язык запросов XQuery. 2007
Перейти к шаблону «Языки запросов»
Перейти к шаблону «Стандарты W3C»
Продукты
и стандарты
Рекомендации
ООСО
  • IndieAuth[англ.]
  • XAdES[англ.]
  • XBL[англ.]
  • XHTML+SMIL[англ.]
  • XUP[англ.]
Рабочие проекты
Руководства
  • Руководящие принципы доступности веб-контента[англ.]
Инициативы
  • Markup Validation Service[англ.]
  • Web Accessibility Initiative[англ.]
  • WebPlatform[англ.]
Выведенные
из использования
Устаревшие
Организации
Рабочие группы
  • TAG[англ.]
  • CSS
  • SVG[англ.]
  • WebAuthn[англ.]
  • WHATWG
Группы сообщества и бизнеса
  • Web Advertising BG[англ.]
Закрывшиеся группы
  • Device Description (DDWG)[англ.]
  • HTML[англ.]
  • Multimodal Interaction Activity (MMI)[англ.]
ПО
Браузеры
  • Line Mode (1990–)[англ.]
  • Arena (1993–98)[англ.]
  • Agora (1994–97)[англ.]
  • Argo (1994–97)[англ.]
  • Amaya (браузер/редактор, 1996–2012)
Конференции