XPath akselit (axes)
- Edellinen sivu XPath syntaksi
- Seuraava sivu XPath operaattorit
XML-esimerkkidokumentti
Käytämme alla olevaa XML-dokumenttia esimerkkinä:
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="eng">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="eng">Learning XML</title> <price>39.95</price> </book> </bookstore>
XPath-akseli
Akseli määrittelee suhteellisesti nykyiseen solmuun verrattuna olevan solmujoukon.
Aksinimi | Tulos |
---|---|
ancestor | Valitse nykyisen solmun kaikki esi-isäsolmut (emo, isoveli jne.). |
ancestor-or-self | Valitse nykyisen solmun kaikki esi-isäsolmut (emo, isoveli jne.) sekä nykyinen solmu itsessään. |
attribute | Valitse kaikki attribuutit |
child | Valitse kaikki lapsielementit |
descendant | Valitse nykyisen solmun kaikki jälkeläissolmut (lapsi, lapsenlapsi jne.). |
descendant-or-self | Valitse nykyisen solmun kaikki jälkeläissolmut (lapsi, lapsenlapsi jne.) sekä nykyinen solmu itsessään. |
following | Valitse asiakirjassa nykyisen solmun loppusignaalimerkin jälkeen olevat kaikki solmut. |
namespace | Valitse nykyisen solmun kaikki nimenkuva-alasoluut. |
parent | Valitse nykyisen solmun emo-solmu. |
preceding | Valitse asiakirjassa nykyisen solmun alkusignaalimerkin edellä olevat kaikki solmut. |
preceding-sibling | Valitse nykyisen solmun edellä olevat kaikki saman tason solmut. |
self | Valitse nykyinen solmu. |
Sijaintipolkuilmaisu
Sijaintipolku voi olla joko absoluuttinen tai suhteellinen.
Absoluuttinen polku alkaa oikeasta viivasta ( / ) ja suhteellinen polku ei näin. Molemmissa tapauksissa sijaintipolku sisältää yhden tai useamman askeleen, joka erotetaan viivalla:
Absoluuttinen sijaintipath:
/step/step/...
Suhteellinen sijaintipath:
step/step/...
Jokainen askel laskee nykyisen solmujoukon solmut perusteella.
Askeleet (step) sisältävät:
- Akseli (axis)
- Määritä valittujen solmujen ja nykyisen solmun välinen puurakenne
- Solmutest (node-test)
- Tunnista solmut tietystä akselista
- Nolla tai useita lausekkeita (predicate)
- Tarkenna valittua solmujoukkoa syvällisemmin
Askeleen syntaksi:
Akselin nimi::solmutest[ predicate ]
Esimerkki
Esimerkki | Tulos |
---|---|
child::book | Valitse kaikki nykyisen solmun lapsielementtien book-solmut |
attribute::lang | Valitse nykyisen solmun lang-ominaisuus |
child::* | Valitse kaikki lapsielementit |
attribute::* | Valitse kaikki attribuutit |
child::text() | Valitse kaikki tekstilapsisolmut |
child::node() | Valitse kaikki lapsisolmut |
descendant::book | Valitse kaikki book-lapsisolmut |
ancestor::book | Valitse kaikki book-esi-isät |
ancestor-or-self::book | Valitse kaikki book-esi-isät ja nykyinen solmu (jos tämä solmu on book-solmu) |
child::*/child::price | Valitse kaikki price-lapsisolmut nykyisestä solmusta. |
- Edellinen sivu XPath syntaksi
- Seuraava sivu XPath operaattorit