- Nadovezivanje lokacionih putanji
Sa kosom crtom / može se kombinovati više lokacionih
putanji u jednu složenu putanju. Svaki korak u složenoj putanji računa se relativno
u odnosu na prethodni. Ako putanja počinje sa /, onda se
prvi putanja određuje u odnosu na koreni čvor. Na primer, izraz
/porodica/član/ime/lično_ime počinje korenim čvorom,
selektuje sve njegove elemente-decu porodica, zatim sve
elemente član ovih čvorova, pa sve njihove elemente ime,
i na kraju, sve elemente lično_ime. U datom primeru, ovaj
XPath izraz bi selektovao sledeća dva elementa:
<lično_ime>Homer</lično_ime>
<lično_ime>Mardž</lično_ime>
Da bi se selektovao tekstualni sadržaj ovih čvorova treba ići još
jedan korak dalje - XPath izraz /porodica/član/ime/lično_ime/text()
selektuje niske "Homer" i "Mardž.
- Selektovanje svih naslednika
Dvostruka kosa crta // selektuje iz svih naslednika
kontekstnog čvora kao i iz samog kontekstnog čvora. Na primer, XPath
izraz //ime selektuje sve elemente ime iz dokumenta.
- Selekcija elementa roditelja
Dvostruka tačka .. ukazuje na roditelja tekućeg čvora.
Na primer, //@id identifikuje sve id atribute u
dokumentu. Izraz član//@id identifikuje sve id atribute
bilo kog elementa koji je sadržan u elementu član koji je
dete tekućeg čvora. Prema tome, //@id/.. identifikuje sve
elemente u dokumentu koji imaju atribut tipa id (jer
je roditelj atributskog čvora element u kome je atribut naveden).
XPath izraz //prezime/../lično_ime identifikuje sve element
lično_ime koji su braća od elementa prezime u
dokumentu.
- Selekcija tekućeg elementa
Jedna tačka ukazuje na tekući čvor. U XSLT-u se ona najčešće koristi
kada je potrebna vrednost tekućeg sravnjenog elementa. Na primer, ovaj
šablon kopira sadržaj svakog komentara i smešta ga unutar elementa
<i> (za kurziv):
<xsl:template match="comment()">
<i><xsl:value-of select="."></i>
</xsl:template>
|