XPath Terminologia
nodi
In XPath, ci sono sette tipi di nodi: elemento, attributo, testo, spazio dei nomi, istruzione di elaborazione, commentare, e nodi di documenti.
documenti XML sono trattati come gli alberi di nodi. L'elemento in cima dell'albero è chiamato elemento radice.
Guardate il seguente documento XML:
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book>
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
Esempio di nodi nel documento XML di cui sopra:
<bookstore> (root element node)
<author>J K. Rowling</author> (element node)
lang="en" (attribute node)
valori atomici
valori atomici sono nodi senza figli o del genitore.
Esempio di valori atomici:
J K. Rowling
"en"
Elementi
Gli articoli sono valori atomici o nodi.
Relazione di nodi
Genitore
Ogni elemento e attributo ha un genitore.
Nel seguente esempio; l'elemento libro è il genitore del titolo, autore, anno, e prezzo:
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
Bambini
I nodi dell'elemento possono avere zero, uno o più figli.
Nel seguente esempio; titolo, autore, anno, e gli elementi di prezzo sono tutti i figli dell'elemento libro:
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
fratelli
I nodi che hanno lo stesso genitore.
Nel seguente esempio; titolo, autore, anno, e gli elementi di prezzo sono tutti fratelli:
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
antenati
genitore di un nodo, genitore del genitore, ecc
Nel seguente esempio; gli antenati dell'elemento titolo sono l'elemento libro e l'elemento libreria:
<bookstore>
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
discendenti
figli di un nodo, i figli dei figli, ecc
Nel seguente esempio; discendenti dell'elemento libreria sono gli elementi del libro, titolo, autore, anno, e prezzo:
<bookstore>
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>