U XPath je ugrađeno mnogo funkcije koje su korisne u predikatima i
drugim izrazima. XPath funkcije se mogu podeliti u sledeće grupe
prema vrednosti koji vraćaju:
- Bulovske funkcije
Od bulovskih funkcija pomenuta je već funkcija not()
koja invertuje logičku vrednost. Na primer, not(@id>400) je
isto što i (@id<=400).
- Numeričke funkcije
Uključene su samo neke jednostavne funkcije, kao round(),
floor() i ceiling. Na primer, šablon
<xsl:value-of select="round(3.14)"/> u izlazni dokument
umeće broj 3.
Osim ovih funkcija, prisutne su i neke čiji je argument skup čvorova.
Na primer, funkcija sum() konvertuje svaki čvor u brojčanu
vrednost, a te vrednosti zatim sabira.
- Niskovne funkcije
U XPath su uključene osnovne niskovne operacije, kao što je pronalaženje
dužine niske i pretvaranje iz malih u velika slova. Cilj većine drugih
niskovnih funkcija je da manipulišu sadržajem XML elemenata i njihovih
atributa. Na primer, starts-with() funkcija ima dva argumenta
i vraća vrednost true ako je druga niska prefiks prve. Na
primer, ovaj šablon
<xsl:apply-templates
select="ime[starts-with(prezime,'T')]"/>
selektuje sve elemente ime čiji naslednik, element prezime,
počinje slovom T.
- Skupovne funkcije
Bilo argument bilo vrednost ovih funkcija je skup čvorova. Funkcija
position() vraća broj tekućeg čvora, izračunat relativno u
odnosu na listu kontekstnih čvorova, funkcija last()
vraća broj čvorova u skupu kontekstnih čvorova, dok funkcija
count() vraća broj čvorova u skupu čvorova koji joj je
dat kao argument.
Sledeći primer koristi u stilskom listu funkcije position()
i count() da bi članove porodice prikazao u obliku
"Član 1 od 10, Član 2 od 10, itd.".
Transformisani dokument biće:
|