XPath

XPath
Información sobre la plantilla
Xpath-auto-complete.png
Concepto:XPath es un lenguaje (basado en XML) que permite seleccionar subconjuntos de un documento XML. La idea es parecida a las expresiones regulares para seleccionar partes de un texto sin atributos (plain text). XPath permite buscar y seleccionar teniendo en cuenta la estructura jerárquica del XML.

XPath (XML Path Language) es un lenguaje que permite construir expresiones que recorren y procesan un documento XML. La idea es parecida a las expresiones regulares para seleccionar partes de un texto sin atributos (plain text). XPath permite buscar y seleccionar teniendo en cuenta la estructura jerárquica del XML. XPath fue creado para su uso en el estándar XSLT, en el que se usa para seleccionar y examinar la estructura del documento de entrada de la transformación.

Qué es XPath

XPath es un lenguaje que permite seleccionar nodos de un documento XML y calcular valores a partir de su contenido. Existen dos versiones de XPath aprobadas por el W3C, aunque la versión más utilizada sigue siendo la versión 1.

Versiones

Árbol del documento

XPath considera un documento XML como un árbol de nodos. En Informática, un árbol es una estructura de datos que equivale a un árbol matemático. En Matemáticas un árbol es un caso particular de grafo. Los siguientes términos definidos en teoría de grafos se utilizan también en Informática y en XPath:

  • Un grafo es un conjunto de objetos llamados nodos o vértices unidos por enlaces llamados arcos o aristas. Un grafo dirigido es un grafo en el que los arcos tienen dirección.
  • Nodo padre y nodo hijo: Cuando dos nodos están unidos por un arco con dirección, el nodo padre es el nodo del que parte el arco y el nodo hijo es el nodo al que llega el arco.
  • Un árbol es un grafo en el que cualquier pareja de vértices están conectada por un único camino (es decir, que no hay ciclos). Un árbol dirigido es un árbol en el que las aristas tienen dirección y todos los nodos menos uno tienen un único padre.
  • Nodo ra{iz y nodos hermanos: El nodo raíz de un árbol dirigido es el único nodo sin padre. Los nodos hermanos son los nodos que tienen el mismo padre.
  • Los nodos descendientes de un nodo son todos los nodos a los que se llega desde el nodo: los hijos, los hijos de los hijos, etc. Los nodos ascendientes de un nodo son todos los nodos de los que un nodo es descendiente: el padre, el padre del padre, etc.

Sintaxis de la expresiones XPath

Una expresión XPath es una cadena de texto que representa un recorrido en el árbol del documento. Las expresiones más simples se parecen a las rutas de los archivos en el explorador de Windows o en la shell de GNU/Linux. Evaluar una expresión XPath es buscar si hay nodos en el documento que se ajustan al recorrido definido en la expresión. El resultado de la evaluación son todos los nodos que se ajustan a la expresión. Para poder evaluar una expresión XPath, el documento debe estar bien formado. Las expresiones XPath se pueden escribir de dos formas distintas:

  • sintaxis abreviada: más compacta y fácil de leer.
  • sintaxis completa: más larga pero con más opciones disponibles.

Las expresiones XPath se pueden dividir en pasos de búsqueda. Cada paso de búsqueda se puede a su vez dividir en tres partes:

  • eje: indica el nodo o los nodos en los que se realiza la búsqueda.
  • nodo de comprobación: especifica el nodo o los nodos seleccionados dentro del eje.
  • predicado: permite restringir los nodos de comprobación.

Herramientas para XPath

  • Compatibilidad con XPath 1.0 y XPath 2.0.
  • Finalización automática de XPath.
  • Generador de expresiones XPath.
  • Analizador de XPath con varias pestañas.
  • Comando "Copiar XPath".
  • Evaluación de expresiones XPath en tiempo real.
  • Evaluación de expresiones XPath en varios archivos.
  • Vínculos activos a nodos de resultados en la ventana del analizador.
  • Color de sintaxis para resaltar errores.

Ventana del analizador de XPath

La ventana del analizador de XPath de XMLSpy puede utilizarse tanto en la vista Texto como en la vista Cuadrícula para evaluar y visualizar el conjunto de nodos resultante de cualquier expresión XPath mientras se teclea. Basta con introducir la expresión XPath 1.0 o 2.0 en la ventana y XMLSpy muestra los resultados en tiempo real. Además puede evaluar sus expresiones XPath con varios archivos a la vez. La ventana ofrece varias opciones: evaluar la expresión XPath en el archivo actual, en todos los archivos abiertos, en todo el proyecto o en una carpeta de archivos. Al hacer clic en cualquier nodo, éste se resaltará en el archivo.

Mientras compone una expresión XPath, los errores de sintaxis se señalan en color rojo. Si la sintaxis es correcta, esta aparece en color negro. La función de finalización automática inteligente también ofrece una lista emergente de opciones para ayudarle a terminar de escribir la expresión. La ventana del analizador de XPath está abierta mientras se editan los archivos e incluye nueve pestañas en las que puede almacenar los resultados de otras nueve expresiones XPath. Gracias a esto, puede realizar cambios en su archivo y volver a evaluar las expresiones sin necesidad de recordarlas de memoria ni apuntarlas. La posibilidad de guardar expresiones XPath y sus resultados directamente en la vista de edición mientras se trabaja es una función única de XMLSpy con la que ahorrará muchísimo tiempo.

La finalización automática y el analizador de XPath de XMLSpy son herramientas esenciales para el desarrollo de XSLT, XQuery y XML Schema porque permite componer y comprobar expresiones XPath de manera intuitiva mientras ofrece prácticas sugerencias de edición. Con ellas puede ahorrarse horas intentando entender y detectar problemas en sus XPath, que suelen ser la causa de errores en aplicaciones XML.

Fuentes