XQuery – Wikipedia, wolna encyklopedia
XQuery (ang. XML query language) – język zapytań (jednakże posiadający pewne cechy języka programowania) służący do przeszukiwania dokumentów XML. Język XPath od wersji 2.0 uznawany jest za pewien podzbiór XQuery. Typ MIME języka XQuery to application/xquery.
Historia
[edytuj | edytuj kod]Początki języka XQuery sięgają grudnia 1998 roku, a konkretnie zorganizowanych przez konsorcjum W3C warsztatów QL'98[1] poświęconych językom przeszukiwania dokumentów XML. Rezultatem dużego zainteresowania wokół tematu XML-a było utworzenie grupy XML Query[2]. Pierwszy dokument wymagań został opublikowany w styczniu 2000 roku, zaś pierwszy szkic języka XQuery pojawił się w lutym 2001 r. W sierpniu 2004 roku grupa podjęła równoległe prace nad rozwojem XPath 2.0 (wspólnie z grupą W3C XSL). W styczniu 2007 roku XQuery 1.0 (oraz XPath 2.0) dostało oficjalną rekomendację W3C.
Konstrukcja języka
[edytuj | edytuj kod]XQuery czerpał inspiracje z wielu języków, takich jak m.in. Quilt, XPath w wersji 1.0, XQL, SQL (wyrażenia FLWOR), czy Lorel. Jest to statycznie typowany język deklaratywny oparty na wyrażeniach ścieżkowych.
Korzeń dokumentu oznaczany jest przez document node.
FLWOR
[edytuj | edytuj kod]Wyrażenia FLWOR (czyt. jak flower - [ˈflaʊə]) wzorowane są na zapytaniach SQL SELECT-FROM-WHERE. Składają się z 5 klauzul: for, let, where, order by, return.
Przykładowe wyrażenie FLWOR:
for $d in doc("działy.xml")//nrdziału let $p := doc("pracownicy.xml")//pracownik[nrdziału = $d] where count($p) >= 10 order by avg($p/pensja) descending return <ZbiorczoDział> { $d, <zatrudnionych>{count($p)}</zatrudnionych>, <średniapensja>{avg($p/salary)}</średniapensja> } </ZbiorczoDział>
Zobacz też
[edytuj | edytuj kod]Przypisy
[edytuj | edytuj kod]- ↑ Strona warsztatów QL'98. [dostęp 2009-12-06].
- ↑ Strona główna grupy W3C XML Query. [dostęp 2009-12-06].
Bibliografia
[edytuj | edytuj kod]- Ling Liu, M.Tamer Özsu (Edyt.): Encyclopedia of Database Systems. T. 5. Springer, 2009. ISBN 978-0-387-35544-3.