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>

Примечания[править | править код]

Ссылки[править | править код]