XQuery

Поделись знанием:
Перейти к: навигация, поиск

XQuery — язык запросов, разработанный для обработки данных в формате 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 документы и базы данных, а также для процедурных операций.

В рамках стандарта 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>

Напишите отзыв о статье "XQuery"

Ссылки

  • www.w3.org/TR/xquery/
  • www.w3.org/TR/xslt20/
  • www.w3.org/TR/xpath20/
  • Sedna - российская XML-СУБД Sedna
  • BaseX - открытая реализация XML Database на основе XPath, XQuery
  • exist.sourceforge.net/ Открытая реализация native XML database на основе XQuery
  • xqib.org/ Плагин для IE и Firefox, позволяющий использовать XQuery в качестве скриптового языка
  • Деревянко А. С. [khpi-iip.mipk.kharkiv.edu/library/extent/dbms/xqppt/xq01.html Язык запросов XQuery]. 2007

Отрывок, характеризующий XQuery

«Где я? Да, в цепи: лозунг и пароль – дышло, Ольмюц. Экая досада, что эскадрон наш завтра будет в резервах… – подумал он. – Попрошусь в дело. Это, может быть, единственный случай увидеть государя. Да, теперь недолго до смены. Объеду еще раз и, как вернусь, пойду к генералу и попрошу его». Он поправился на седле и тронул лошадь, чтобы еще раз объехать своих гусар. Ему показалось, что было светлей. В левой стороне виднелся пологий освещенный скат и противоположный, черный бугор, казавшийся крутым, как стена. На бугре этом было белое пятно, которого никак не мог понять Ростов: поляна ли это в лесу, освещенная месяцем, или оставшийся снег, или белые дома? Ему показалось даже, что по этому белому пятну зашевелилось что то. «Должно быть, снег – это пятно; пятно – une tache», думал Ростов. «Вот тебе и не таш…»
«Наташа, сестра, черные глаза. На… ташка (Вот удивится, когда я ей скажу, как я увидал государя!) Наташку… ташку возьми…» – «Поправей то, ваше благородие, а то тут кусты», сказал голос гусара, мимо которого, засыпая, проезжал Ростов. Ростов поднял голову, которая опустилась уже до гривы лошади, и остановился подле гусара. Молодой детский сон непреодолимо клонил его. «Да, бишь, что я думал? – не забыть. Как с государем говорить буду? Нет, не то – это завтра. Да, да! На ташку, наступить… тупить нас – кого? Гусаров. А гусары в усы… По Тверской ехал этот гусар с усами, еще я подумал о нем, против самого Гурьева дома… Старик Гурьев… Эх, славный малый Денисов! Да, всё это пустяки. Главное теперь – государь тут. Как он на меня смотрел, и хотелось ему что то сказать, да он не смел… Нет, это я не смел. Да это пустяки, а главное – не забывать, что я нужное то думал, да. На – ташку, нас – тупить, да, да, да. Это хорошо». – И он опять упал головой на шею лошади. Вдруг ему показалось, что в него стреляют. «Что? Что? Что!… Руби! Что?…» заговорил, очнувшись, Ростов. В то мгновение, как он открыл глаза, Ростов услыхал перед собою там, где был неприятель, протяжные крики тысячи голосов. Лошади его и гусара, стоявшего подле него, насторожили уши на эти крики. На том месте, с которого слышались крики, зажегся и потух один огонек, потом другой, и по всей линии французских войск на горе зажглись огни, и крики всё более и более усиливались. Ростов слышал звуки французских слов, но не мог их разобрать. Слишком много гудело голосов. Только слышно было: аааа! и рррр!