XPath
XPath es un estándar (diferente de XML) aprobado por el W3C, que permite navegar entre los elementos y atributos de un documento XML. Para hacerlo, se basa en las relaciones de parentesco entre los nodos del documento.
Inicialmente se creó para ser utilizado con XLST, pero en la actualidad se utiliza también con las siguientes tecnologías (entre otras):
Versiones
Existen un total de cuatro versiones del estándar de XPath:
Versión del estándar | Año de publicación |
---|---|
XPath 1.0 | 1999 |
XPath 2.0 | 2010 |
XPath 3.0 | 2014 |
XPath 3.1 | 2017 |
Expresiones de camino
XPath se usa definiendo expresiones de camino (paths) para seleccionar nodos o conjuntos de nodos en un documento XML.
Esas expresiones se parecen mucho a las expresiones que se suelen usar para indicar rutas en los sistemas de ficheros.
Estas expresiones se aplican a un documento XML, asumiendo que su estructura interna es la de un árbol. Al aplicar una expresión, se obtiene un conjunto de nodos (que puede ser vacío).
Consideremos el siguiente documento XML:
<?xml version="1.0" encoding="UTF-8"?>
<matriculas>
<alumno>
<nombre>Pedro</nombre>
<apellidos>
<apellido>López</apellido>
<apellido>Ortega</apellido>
</apellidos>
<dni pais="es">11112222A</dni>
</alumno>
<alumno>
<nombre>Ana</nombre>
<apellidos>
<apellido>García</apellido>
<apellido>Martínez</apellido>
</apellidos>
<dni>33334444B</dni>
</alumno>
</matriculas>
Una expresión de camino podría ser la siguiente:
/matriculas/alumno/nombre
Al evaluar la expresión anterior, obtendríamos como resultado los siguientes elementos:
<nombre>Pedro</nombre>
<nombre>Ana</nombre>
Consideremos, ahora, la siguiente expresión:
/matriculas/alumno/dni[@pais]
En este caso, tras su evaluación, obtendríamos como resultado el siguiente elemento:
<dni pais="es">11112222A</dni>