XQuery
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
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
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
Wyrażenia FLWOR (czyt. 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("dzialy.xml")//nrdzialu let $p := doc("pracownicy.xml")//pracownik[nrdzialu = $d] where count($p) >= 10 order by avg($p/pensja) descending return <ZbiorczoDzial> { $d, <zatrudnionych>{count($p)}</zatrudnionych>, <sredniapensja>{avg($p/salary)}</sredniapensja> } </ZbiorczoDzial>
Zobacz też
- XPath
- XSL
- SPARQL
Przypisy
- ↑ Strona warsztatów QL'98. [dostęp 2009-12-06].
- ↑ Strona główna grupy W3C XML Query. [dostęp 2009-12-06].
Bibliografia
- Ling Liu, M.Tamer Özsu (Edyt.): Encyclopedia of Database Systems. T. 5. Springer, 2009. ISBN 978-0-387-35544-3.