XQueryXQuery — мова запитів, розроблена для обробки даних у форматі XML. 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 надає спосіб витягати і маніпулювати даними з XML документів або ж з будь-якого джерела даних, що можуть розглядатися як XML, наприклад, з реляційних баз даних або з документів офісного пакета. XQuery для адресації потрібних ділянок XML документа використовує синтаксис виразів XPath. Це доповнюється SQL-подібними «FLWOR-виразами» для виконання об'єднань. FLWOR вирази сконструйовані з п'яти речень, за чиєю абревіатурою вони й названі: FOR, LET, WHERE, ORDER BY, RETURN. Мова також надає синтаксис для конструювання нових XML документів. Там, де імена елементів і атрибутів відомі, можна використовувати XML-подібний синтаксис, в інших випадках вирази посилаються на доступні конструктори динамічних вузлів. Усі ці конструкції визначені як вирази мови, і вони можуть бути довільно вкладеними. Мова базується на три-структурній моделі інформаційного вмісту XML-документа, що складається з семи видів вузлів: вузли документа, елементи, атрибути, текстові вузли, коментарі, інструкції обробки, і простори імен. Система типів мови уявляє всі величини як послідовності (одиночна величина розглядається як послідовність з довжиною один). Члени послідовності можуть бути або вузлом, або атомарною величиною. Атомарні величини можуть бути цілим числом, рядком, булевою константою тощо. Повний перелік типів, заснований на примітивних типах, визначених у схемі XML. XQuery 1.0 не включає можливостей редагування XML-документа і баз даних. У цій версії бракує також можливості повнотекстового пошуку. Обидві ці можливості в активному процесі розробки наступних версій мови. Приклад використанняВ цьому прикладі перелічуються всі унікальні персонажі кожного акту Шекспірівської п'єси Гамлет, записаної у вигляді hamlet.xml [Архівовано 21 серпня 2007 у Wayback Machine.] <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>
ЗастосуванняНижче перелічені типові задачі, коли доцільно використовувати XQuery
Втілення
Посилання
|