130 likes | 292 Views
XQuery. Získanie elementov z dokumentu. Funkcia d oc (“ cesta k s ú boru ”) vráti dokument, ktorý je uložený na danom mieste. Je možnosť pristupovať aj k jednotlivým elementom v dokumente: doc (“ cesta ”)/ titul Je možné zadávať aj podmienku pri výbere v […]. Pr íklady.
E N D
Získanie elementov z dokumentu • Funkcia doc(“cesta k súboru”) vráti dokument, ktorý je uložený na danom mieste. • Je možnosť pristupovať aj k jednotlivým elementom v dokumente: doc(“cesta”)/titul • Je možné zadávať aj podmienku pri výbere v […]
Príklady • Spusťte stránku http://brettz9.github.io/xqueryeditor/# • Získajte dokument nachádzajúci sa v books.xml • Získajte všetky elementy title z tohto dokumentu. • Získajte elementy title pre všetky knihy, ktoré vyšli po roku 2003
Výber pomocou FLWOR • doc("books.xml")/bookstore/book[price>30]/title • Alternatíva: • for $x in doc("books.xml")/bookstore/book • where $x/price>30 • return $x/title
Príklady • Vyberte knihy, ktoré sú v anglickom jazyku • Vyberte knihy, ktoré sú pre deti
Zoraďovanie • Zoraďovanie sa realizuje pomocou order by napríklad: for $x in doc("books.xml")/bookstore/book/title order by $x return $x
Obaľovanie výstupu do tagov <ul> { for $x in doc("books.xml")/bookstore/book/title order by $x return <li>{$x}</li> } </ul> • Funkcia data() vráti iba obsah elementu
Príklad • Vyberte všetkých autorov kníh, ktoré majú kategóriu WEB. • Autori sú zoradený podľa ceny knihy • Autori budú ako zoznam v html
Podmienené výstupy return if (podmienka) then ………. Else ………….
Príklad • Vyberte všetky elementy title. • Zoraďte podľa obsahu tohto elementu. • Ak je kniha pre deti, nech je namiesto titlechild v opačnom prípade, nech je adult.
Príklad • Získajte elementy title a yeara výstup naformátujte do nasledovnej podoby: <knihy> <kniharok=“rok”>titul</kniha> ……. <knihy>
Generovaniečísel for $x in (1 to 5) return <test>{$x}</test> for $x at $i in doc("books.xml")/bookstore/book return .... $i budeobsahovať poradové číslo
Príklad • Vyberte všetky tituly, zoradteich podľa abecedy a naformátujte výstup tak, aby bol nasledovný: <titulcislo=“1”>nazov</titul> ………. <titulcislo=“2”>nazov</titul>