Nodos
Un documento XML tiene una estructura de árbol: un elemento raíz que contiene hijos que, a su vez, contienen otros hijos. A su vez, cada elemento puede tener atributos y/o contenido textual.
XPath trata los documentos XML como un árbol de nodos. Dentro de este árbol, podemos diferenciar diferentes tipos de nodos según su localización en el documento.
Consideremos el siguiente documento XML:
<?xml version="1.0" encoding="UTF-8"?>
<biblioteca>
<libro>
<titulo>La vida está en otra parte</titulo>
<autor>Milan Kundera</autor>
<fechaPublicacion año="1973"/>
</libro>
<libro>
<titulo>Pantaleón y las visitadoras</titulo>
<autor fechaNacimiento="28/03/1936">Mario Vargas Llosa</autor>
<fechaPublicacion año="1973"/>
</libro>
<libro>
<titulo>Conversación en la catedral</titulo>
<autor fechaNacimiento="28/03/1936">Mario Vargas Llosa</autor>
<fechaPublicacion año="1969"/>
</libro>
</biblioteca>
Su representación en forma de árbol puede ser la siguiente:
Como se puede observar en el árbol, no todos los nodos son iguales. En los siguientes apartados se describen los diferentes tipos de nodos que XPath puede encontrar en un documento XML.