80 likes | 172 Views
Technológie XML. XPath. XML dokument pre dnešné cvičenie. Adresovanie elementov. / - repre z entuje absol ú tnu cestu k po ž adovan é mu elemen tu // - sú vybrené všetky elementy, ktoré vyhovujú daným kritériám * - sú vybrané všetky výrazy určené predošlým výrazom. Príklady.
E N D
Technológie XML XPath
Adresovanieelementov • / - reprezentujeabsolútnucestu k požadovanému elementu • // - sú vybrené všetky elementy, ktoré vyhovujú daným kritériám • * - sú vybrané všetky výrazy určené predošlým výrazom Príklady • Vyberte element zoznam • Vyberte všetky elementy s názvom dielo • Vyberte všetky elementy • Vyberte všetky elementy, ktoré sa nachádzajú v elemente dielo • Vyberte všetky elementy 3 úrovne
Adresovanie atribútov a podmienky • Atribúty sú špecifikované pomocou prefixu @ • Podmienky sa píšu do hranatých zátvoriek [] • Vyberie sa hodnota vyhovujúca podmienke • Môžu sa používať rôzne operátory (<,>,and,or,not,...) • Príklad: //kniha[@jazyk=“slovensky” and rok=“2010”] • Vyberte všetky atribúty id • Vyberte všetky atribúty krajina_povodu • Vyberte všetky atribúty nachádzajúce sa v elementoch tretej úrovne • Vyberte element dielo, ktorý má hodnotu atribútu AL5558 • Vyberte všetky elementy, ktoré nemajú atribút • Vypíšte diela, ktoré vyšli po roku 2000 Príklady
Podmienky - pozícia • text() – vráti reťazec vybraného elementu resp. atribútu • [2] – vyberiedruhý zodpovedajúci prvok • [last()] – vyberieposledný prvok vyhovujúci podmienke Príklady • Vyberte predposledný prvok spisovateľ • Vyberte text krajiny pôvodu pri druhom spisovateľovi
Podmienky - funkcie • //*[starts-with(name(),”retazec")]– vyber všetkých elementov, ktorých meno začína na reťazec • //*[contains(name(),'C')] – vyber všetkých elementov, ktoré majú v názve C • //*[contains(text(),'C')]-vráti všetky elementy ktorých text obsahuje C • //*[name()='BBB']– vyber všetkých elementov ktorých meno je BBB • string-length(name())– dĺžka menaelementu • last() – vyberposledný element/atribút Príklady • Vyberte všetky elementy ktorých id začína na AX • Vyberte všetky elementy, ktorých meno je dlhšie ako text elementužánerprvého spisovateľa.
Podmienky – smer pohybu • /child::AAA– vyberie priamych potomkov AAA (alternatíva k AAA) • //CCC/descendant::* - vyberie všetky elementy majúce za predka CCC • //DDD/parent::*- vyberie všetkych rodičov DDD • //FFF/ancestor::* - vyberie všetkých predkov FFF • preceding-sibling – predchádzajúci súrodenci • following-sibling- nasledujúci súrodenci • following– všetky nasledujúce uzly • preceding– všetky predchádzajúce uzly Príklady • Vypíšte všetky rovnocenné elementy druhého elementu zaner(použite | ). • Vyberte všetkých rodičov elementu názov, ktorý má id začínajúce na AL
Použitie Xpath pre výber elementov a atribútov z konkrétneho namespace-u • Výber všetkých elementov z daného namespace-u • //*[namespace-uri()=„nazov_namespace“] • Výber všetkých atribútov z daného namespace-u • //@*[namespace-uri()=„nazov_namespace“]