Los documentos XML se organizan como un árbol, que consta de un nodo raíz y nodos secundarios descendientes. La biblioteca de funciones se basa en argumentos XPath para examinar este árbol y localizar nodos XML individuales.
El resultado de una expresión XPath puede ser un nodo o un conjunto de nodos de elemento, texto o atributo. Por ejemplo, la expresión XPath /ABC/DEF selecciona todos los nodos secundarios DEF en el nodo raíz ABC del documento XML. En la tabla siguiente se resumen las funciones más habituales de la sintaxis de XPath.
Sintaxis de XPath | Uso |
---|---|
/ | La barra diagonal inicial de una expresión XPath especifica la raíz del árbol. Especifique una ruta absoluta con una barra inclinada inicial. Por ejemplo, /ABC especifica el elemento secundario del nodo raíz denominado ABC. Si se omite la barra inclinada inicial, la ruta es relativa y el contexto de la ruta relativa adoptará de forma predeterminada el nodo raíz. Las siguientes barras diagonales de una expresión XPath se utilizan como separadores de ruta para identificar los nodos secundarios de un nodo. Por ejemplo, /ABC/DEF especifica el elemento DEF, que es un nodo secundario del elemento ABC, que es un secundario del elemento raíz. |
// | Dos barras diagonales especifican todos los descendientes del nodo actual. Por ejemplo, ABC//DEF coincide con cualquier elemento DEF del elemento ABC. |
* | El asterisco es el carácter comodín que especifica una coincidencia en un nodo secundario. Por ejemplo, /ABC/*/DEF coincide con cualquier elemento DEF que sea descendiente del secundario del elemento ABC. |
[] | Especifica expresiones de predicado, como los operadores binarios OR, AND y NOT. Por ejemplo, /RESIDENTS [AGE=65 y NAME="Jane Doe"]/ADDRESS selecciona el elemento dirección de todos los residentes cuya edad sea 65 y se llamen Jane Doe. [ ] se utiliza también para indicar un índice en una lista. Por ejemplo, /POSTOFFICE/BOX[2] identifica el segundo elemento del número de buzón del elemento raíz POSTOFFICE. |
nombre_nodo | Selecciona todos los nodos secundarios del nodo con nombre. Por ejemplo:
|
. | Selecciona el nodo actual. |
.. | Selecciona el principal del nodo actual. |
@ | Selecciona atributos. Por ejemplo, //@lang selecciona todos los atributos que se denominan lang. |
nombre-función | XPath admite un conjunto de funciones integradas como, por ejemplo, substring(), round() y not(). Asimismo, las funciones definidas por el usuario pueden convertirse en disponibles con los espacios de nombre. |