XPath Terminologia
Nodes
Em XPath, há sete tipos de nós: elemento, atributo, texto, namespace, instrução de processamento, comentário, e nós do documento.
documentos XML são tratados como árvores de nós. O elemento superior da árvore é chamado o elemento raiz.
Olhe para o seguinte 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>
Exemplo de nós no documento XML acima:
<bookstore> (root element node)
<author>J K. Rowling</author> (element node)
lang="en" (attribute node)
valores atômicos
valores atômicos são nós sem filhos ou pais.
Exemplo de valores atómicos:
J K. Rowling
"en"
Unid
Os itens são valores atômicos ou nós.
Relação de Nodes
parente
Cada elemento e atributo tem um dos pais.
No exemplo a seguir; o elemento livro é o pai do título, autor, ano e preço:
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
Crianças
nós de elemento pode ter zero, um ou mais filhos.
No exemplo a seguir; o título, autor, ano, e elementos de preço são todos filhos do elemento do livro:
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
Irmãos
Nós que têm o mesmo pai.
No exemplo a seguir; o título, autor, ano, e elementos de preço são todos os irmãos:
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
avós
pai de um nó, pai do pai, etc.
No exemplo a seguir; os ancestrais do elemento título são o elemento livro e o elemento livraria:
<bookstore>
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
descendentes
crianças de um nó, os filhos dos filhos, etc.
No exemplo a seguir; descendentes do elemento livraria são os elementos do livro, título, autor, ano, e preços:
<bookstore>
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>