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 документи і бази даних, а також для процедурних операцій.
Властивості
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
- Витяг інформації з бази даних для використання у веб-службі
- Генерація підсумкового звіту з даних, що зберігаються в XML документі
- Пошук текстового документу в вебі за запитом, що відповідає вимогам, і видача результату
- Вибір і перетворення XML даних в XHTML для публікації в Мережі
- Витягування даних з бази даних для використання в інтеграції застосувань
- Розщеплення XML документу, що представляє численні транзакції, в множину окремих XML документів
Втілення
- Sedna XML Database, написана на C/C++, високопродуктивний XQuery рушій, спроектований для застосувань сортування, відкритий код.
- VTD-XML — Втілення XPath — відкритий код, пов'язаний з мовами програмування C, C#, і Java
- Saxon XSLT and XQuery Processor [ 22 жовтня 2007 у Wayback Machine.] — від Michael Kay; є версія з відкритим кодом, підтримує розширення, написані на Java або C#
- Galax [ 8 березня 2022 у Wayback Machine.] — Втілення з відкритим кодом OCaml XQuery, підтримує різні розширення; особливо підходить для академічних застосувань XQuery
- Qexo [ 23 жовтня 2007 у Wayback Machine.] — відкритий код, написаний на Java з
- Mark Logic Server
- DataDirect XQuery [ 5 липня 2008 у Wayback Machine.] — високопродуктивний, платформо-незалежний XQuery рушій для більшості реляційних баз даних
- Virtuoso Universal Server — OpenLink Virtuoso
- BEA AquaLogic ALDSP — XQuery для інтеграції даних
- Microsoft SQL Server 2005 [ 1 листопада 2007 у Wayback Machine.]
- DB2 9 [ 12 жовтня 2007 у Wayback Machine.]
- — високопродуктивний рушій XQuery для баз даних, є версія з відкритим кодом (Qizx/open, кодова назва XQuest).
- XQuery втілення
- — Процесор XQuery з відкритим кодом, на верхньому щаблі системи реляційних баз даних, з підтримкою для W3C XQuery Update Facility.
- ще багато XQuery втілень [ 1 листопада 2007 у Wayback Machine.] (деякі вільні або з відкритим кодом).
Посилання
- http://www.w3.org/TR/xquery/ [ 2 лютого 2006 у Wayback Machine.]
- http://www.w3.org/TR/xslt20/ [ 13 червня 2006 у Wayback Machine.]
- http://www.w3.org/TR/xpath20/ [ 2 листопада 2007 у Wayback Machine.]
Це незавершена стаття про мови програмування. Ви можете проєкту, виправивши або дописавши її. |
Ця стаття потребує додаткових для поліпшення її . (липень 2017) |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
XQuery mova zapitiv rozroblena dlya obrobki danih u formati XML XQuery vikoristovuye XML yak svoyu model danih XQuery 1 0 bula rozroblena robochoyu grupoyu XML Query u skladi organizaciyi W3C Cya robota koordinuyetsya inshoyu robochoyu grupoyu sho pracyuye nad XSLT 2 0 Ci dvi grupi rozdilyayut vidpovidalnist za XPath 2 0 sho vhodit do skladu XQuery 1 0 3 listopada 2005 roku XQuery 1 0 otrimala status W3C Candidate Recommendation a 23 sichnya 2007 roku XQuery 1 0 odnochasno z XSLT 2 0 i XPath 2 0 otrimala status oficijnoyi rekomendaciyi W3C Recommendation V nash chas koli vedutsya roboti z rozvitku cogo standartu z dodavannyam viraziv dlya vilnogo poshuku po tekstu i dlya vnesennya zmin v XML dokumenti i bazi danih a takozh dlya procedurnih operacij VlastivostiXQuery nadaye sposib vityagati i manipulyuvati danimi z XML dokumentiv abo zh z bud yakogo dzherela danih sho mozhut rozglyadatisya yak XML napriklad z relyacijnih baz danih abo z dokumentiv ofisnogo paketa XQuery dlya adresaciyi potribnih dilyanok XML dokumenta vikoristovuye sintaksis viraziv XPath Ce dopovnyuyetsya SQL podibnimi FLWOR virazami dlya vikonannya ob yednan FLWOR virazi skonstrujovani z p yati rechen za chiyeyu abreviaturoyu voni j nazvani FOR LET WHERE ORDER BY RETURN Mova takozh nadaye sintaksis dlya konstruyuvannya novih XML dokumentiv Tam de imena elementiv i atributiv vidomi mozhna vikoristovuvati XML podibnij sintaksis v inshih vipadkah virazi posilayutsya na dostupni konstruktori dinamichnih vuzliv Usi ci konstrukciyi viznacheni yak virazi movi i voni mozhut buti dovilno vkladenimi Mova bazuyetsya na tri strukturnij modeli informacijnogo vmistu XML dokumenta sho skladayetsya z semi vidiv vuzliv vuzli dokumenta elementi atributi tekstovi vuzli komentari instrukciyi obrobki i prostori imen Sistema tipiv movi uyavlyaye vsi velichini yak poslidovnosti odinochna velichina rozglyadayetsya yak poslidovnist z dovzhinoyu odin Chleni poslidovnosti mozhut buti abo vuzlom abo atomarnoyu velichinoyu Atomarni velichini mozhut buti cilim chislom ryadkom bulevoyu konstantoyu tosho Povnij perelik tipiv zasnovanij na primitivnih tipah viznachenih u shemi XML XQuery 1 0 ne vklyuchaye mozhlivostej redaguvannya XML dokumenta i baz danih U cij versiyi brakuye takozh mozhlivosti povnotekstovogo poshuku Obidvi ci mozhlivosti v aktivnomu procesi rozrobki nastupnih versij movi Priklad vikoristannyaV comu prikladi perelichuyutsya vsi unikalni personazhi kozhnogo aktu Shekspirivskoyi p yesi Gamlet zapisanoyi u viglyadi hamlet xml 21 serpnya 2007 u Wayback Machine lt html gt lt head gt lt body gt for act in doc hamlet xml ACT let speakers distinct values act SPEAKER return lt span gt lt h1 gt act TITLE text lt h1 gt lt ul gt for speaker in speakers return lt li gt speaker lt li gt lt ul gt lt span gt lt body gt lt html gt ZastosuvannyaNizhche perelicheni tipovi zadachi koli docilno vikoristovuvati XQuery Vityag informaciyi z bazi danih dlya vikoristannya u veb sluzhbi Generaciya pidsumkovogo zvitu z danih sho zberigayutsya v XML dokumenti Poshuk tekstovogo dokumentu v vebi za zapitom sho vidpovidaye vimogam i vidacha rezultatu Vibir i peretvorennya XML danih v XHTML dlya publikaciyi v Merezhi Vityaguvannya danih z bazi danih dlya vikoristannya v integraciyi zastosuvan Rozsheplennya XML dokumentu sho predstavlyaye chislenni tranzakciyi v mnozhinu okremih XML dokumentivVtilennyaSedna XML Database napisana na C C visokoproduktivnij XQuery rushij sproektovanij dlya zastosuvan sortuvannya vidkritij kod VTD XML Vtilennya XPath vidkritij kod pov yazanij z movami programuvannya C C i Java Saxon XSLT and XQuery Processor 22 zhovtnya 2007 u Wayback Machine vid Michael Kay ye versiya z vidkritim kodom pidtrimuye rozshirennya napisani na Java abo C Galax 8 bereznya 2022 u Wayback Machine Vtilennya z vidkritim kodom OCaml XQuery pidtrimuye rizni rozshirennya osoblivo pidhodit dlya akademichnih zastosuvan XQuery Qexo 23 zhovtnya 2007 u Wayback Machine vidkritij kod napisanij na Java z Mark Logic Server DataDirect XQuery 5 lipnya 2008 u Wayback Machine visokoproduktivnij platformo nezalezhnij XQuery rushij dlya bilshosti relyacijnih baz danih Virtuoso Universal Server OpenLink Virtuoso BEA AquaLogic ALDSP XQuery dlya integraciyi danih Microsoft SQL Server 2005 1 listopada 2007 u Wayback Machine DB2 9 12 zhovtnya 2007 u Wayback Machine visokoproduktivnij rushij XQuery dlya baz danih ye versiya z vidkritim kodom Qizx open kodova nazva XQuest XQuery vtilennya Procesor XQuery z vidkritim kodom na verhnomu shabli sistemi relyacijnih baz danih z pidtrimkoyu dlya W3C XQuery Update Facility she bagato XQuery vtilen 1 listopada 2007 u Wayback Machine deyaki vilni abo z vidkritim kodom Posilannyahttp www w3 org TR xquery 2 lyutogo 2006 u Wayback Machine http www w3 org TR xslt20 13 chervnya 2006 u Wayback Machine http www w3 org TR xpath20 2 listopada 2007 u Wayback Machine Ce nezavershena stattya pro movi programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno lipen 2017