XQuery

język programowania

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

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

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

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

Przypisy edytuj

  1. Strona warsztatów QL'98. [dostęp 2009-12-06].
  2. Strona główna grupy W3C XML Query. [dostęp 2009-12-06].

Bibliografia edytuj

  • Ling Liu, M.Tamer Özsu (Edyt.): Encyclopedia of Database Systems. T. 5. Springer, 2009. ISBN 978-0-387-35544-3.

Linki zewnętrzne edytuj