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 года.

Ссылки

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.