80 likes | 176 Views
Learn how to address elements, attributes, and conditions in XML documents using XPath expressions for today's exercise. Examples and scenarios included. XPath for selecting elements, attributes, conditions, and functions are covered.
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“]