Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

XPath © Reino Aarinen, 2014. Mikä on XPath? XPath on W3C:n ylläpitämä yleinen standardikieli tiedon hakemiseen XML dokumenteista selaamalla sen elementtejä.

Samankaltaiset esitykset


Esitys aiheesta: "XPath © Reino Aarinen, 2014. Mikä on XPath? XPath on W3C:n ylläpitämä yleinen standardikieli tiedon hakemiseen XML dokumenteista selaamalla sen elementtejä."— Esityksen transkriptio:

1 XPath © Reino Aarinen, 2014

2 Mikä on XPath? XPath on W3C:n ylläpitämä yleinen standardikieli tiedon hakemiseen XML dokumenteista selaamalla sen elementtejä ja attribuutteja. XPathstandardikieli XPath on syntaksi (pattern-lauseet), jolla voi määritellä XML dokumentin osia. ”Dokumentissa navigoidaan” XPath-lauseiden avulla. XPath-kielessä on myös kirjasto standardifunktioita.kirjasto standardifunktioita XSLT XPointer XLink XQuery XPath Myös JSTL (JavaServer Pages Standard Tag Library) XML tagit käyttää XPath-kieltä.

3 Solmut XPath-lause(kke)et, ”lokaattorit, patternit” valitsevat solmuja tai solmujoukkoja. Lauseet ovat läheistä sukua tiedosto- tai hakemistopolkujen (path) kanssa. Dokumentit tulkitaan XPathissa solmuista (olioista) koostuviksi puiksi (DOM, Document Object Model): Elementit ja attribuutit (tavallisimmat solmut) Prosessointikäskyt ja kommentit Nimiavaruudet (namespaces) Itse dokumentti (/) Solmut voivat olla myös atomaarisia arvoja, tekstiä, attribuuttien arvoja tai elementtien tekstisisältöjä.

4 Sukupuu Jokaisella elementillä (ja attribuutilla) on tasan yksi vanhempi (parent). Poikkeuksia ovat vain itse dokumentti ja sen juurielementti. Elementeillä voi olla useita lapsia (child), eli välittömiä jälkeläisiä. Sisaruksia (sibling) ovat lapset, joilla on sama vanhempi (parent) Solmun esivanhempia (ancestor) on solmun vanhempi tai vanhemman vanhempi jne. (edeltäjä, esi-isä). Solmun jälkeläiset (descendant) ovat solmun lapsia, lasten lapsia jne. XPath käyttää sukupuuta solmujen määrittelyyn edellä mainittujen ”akselien” (axis) suhteen, eli yleisenä kaavana: akseli::solmutesti[predikaatti] Akseleita ovat: self, child, parent, ancestor, ancestor-or- self, descendant, descendant-or-self, preceding, preceding-sibling, following, following-sibling, attribute.

5 XPath. Lyhennetty syntaksi Elementit ja attribuutit / Dokumentti itse (self). Kontekstisolmu, nykyinen solmu.. Kontekstisolmun vanhempi (parent) Suhteelliset polut tag Kontekstisolmun tag nimiset lapsielementit (child). Sama kuin./tag *Kontekstisolmun kaikki lapset. Jokeri, ”Wild Card” @attr Kontekstisolmun attr -attribuutit. Esim. henkilö/@sukupuoli. @* Kontekstisolmun kaikki attribuutit. Esim. nimilista/@* Absoluuttiset polut /tag Juurielementti, esim. /nimilista, /doc /tag1/tag2 Tässä tag2 on tag1 :n lapsielementti ja tag1 on juurielementti. Esim. /nimilista/henkilö tai /doc/chapter //tag Dokumentin kaikki tag -instanssit (jälkeläiset, descendant) //tag1/tag2 Kaikki tag2 elementit, joiden vanhempi on tag1. Esim. //henkilö/etunimi tai //olist/item (valitaan kaikki dokumentissa olevat item it, joilla on olist vanhempi).

6 Predikaatit Predikaatteja käytetään haettaessa tiettyä solmua tai solmujoukkoa, jolla on tietty arvo. Predikaatit kirjoitetaan polkulauseen perään hakasulkuihin Esimerkkejä nimilista/henkilö[1] // Ensimmäinen henkilö //henkilö[position()>3] // Henkilöt kolmannesta lukien //nimi[etunimi=’Reino’ and @lempinimi=’reiska’]/sukunimi Operaattorit lauseissa voivat olla aritmeettisia (+ - * / mod ) ja loogisia vertailuja ( = != > >= < <= ). Loogisia lauseita voidaan yhdistää and ja or operaattoreilla.

7 Esimerkkejä ( doc umentista )./para Kontekstisolmun para -lapset (sama kuin para ).//para Kontekstisolmun kaikki para -jälkeläiset ( //para valitsee koko dokumentin kaikki para -elementit) para[1], para[last()] Kontekstisolmun ensimmäinen ja viimeinen para -lapsi. */para Kontekstisolmun kaikki para -nimiset lapsenlapset. /doc/chapter[5]/section[2] valitsee juurielementin doc 5. luvun 2. kappaleen. /doc/*/section[2] … jokaisen luvun 2. kappaleen chapter//para valitsee kaikki para t, jotka kappaleista ( chapter ) jälkeläisinä (descendant) löytyvät.

8 Lokaattorien yhdistäminen Useampia lokaattoreita (XPath-lauseita) voidaan testata yhtä aikaa, esim. //b | //c valitsee kaikki b - ja c -elementit koko dokumentista. Ehtolauseita voidaan yhdistää JA tai TAI operaatioilla, esim. //b[@c=”x”][@d=”y”]. Tämä valitsee elementit. Elementit b voivat sijaita missä kohtaa dokumenttia tahansa. //*[@c=”x”]|[@d=”y”] valitsee koko dokumentin kaikki elementit, joilla attribuutin c arvo on x tai attribuutin d arvo on y. Tunneilla lisää esimerkkejä.


Lataa ppt "XPath © Reino Aarinen, 2014. Mikä on XPath? XPath on W3C:n ylläpitämä yleinen standardikieli tiedon hakemiseen XML dokumenteista selaamalla sen elementtejä."

Samankaltaiset esitykset


Iklan oleh Google