Przykłady wyrażeń Xpath
Zasadniczo składnia XPath jest podobna do adresowania plików w systemie plików. Jeśli ścieżka zaczyna się od / to reprezentuje absolutną ścieżkę do wymaganego elementu.
/BOOKLIST/BOOK wyznacza wszystkie elementy BOOK, które są następnikami głównego elementu BOOKLIST.
Jeśli ścieżka zaczyna się od // wówczas wszystkie elementy w drzewie spełniające dalsze warunki są wyznaczane np.
//AUTHOR/LASTNAME - wyznacza wszystkie elementy LASTNAME, które są następnikami dowolnego elementu AUTHOR osiągalnego z głównego elementu.
//AUTHOR/LASTNAME[1] - wyznacza pierwszy element w zbiorze wyników.
//AUTHOR/LASTNAME[last()] - wyznacza ostatni element w zbiorze wyników.
//AUTHOR/* - wybiera wszystkie elementy zlokalizowane przez poprzedzającą ścieżkę.
Atrybuty są specyfikowane za pomocą prefiksu @ np.//@id - wyznacz wszystkie elementy z atrybutem id.
W nawiasach [ ] są formułowane predykaty. Można używać wartości atrybutów jako kryterium wyboru elementu. Np. //BOOK[@Category=’fiction’] - wyznacz wszystkie elementy BOOK, które mają atrybut Category równy ’fiction’.
Można używać spójników logicznych jak OR, AND i NOT np./BOOKLIST/BOOK[PUBLISHED=2001 OR PUBLISHED=2002]/AUTHOR/LASTNAME
wyznacza wszystkie elementy LASTNAME autorów książek opublikowanych albo w 2001 albo w 2002.
Funkcja count() zlicza liczbę wybranych elementów np.//*[count(BOOK)>=2] - wyznacza elementy, które mają co najmniej dwa następniki BOOK.
W szczególności count(*) - zlicza wszystkie następniki danego węzła.
Funkcja name() podaje nazwę wybranego elementu np.//*[name()='BOOK'] - wybiera wszystkie elementy BOOK - wyrażenie równoważne z //BOOK.
//*[starts-with(name(),'B')] - wybiera wszystkie elementy, których nazwa zaczyna się na literę 'B'
//*[contains(name(),'B')] - wybiera wszystkie elementy, których nazwa zawiera literę 'B'.
//*[string-length(name()) <= 3] - wybiera wszystkie elementy, których nazwa ma długość mniejszą lub równą 3.
Operatorem sumowania ścieżek jest | np.//BOOK | //CD| //DVD
yoquero