expresiones XPath
Los documentos XML se organizan como un árbol, que consta de un nodo raíz y nodos secundarios descendientes (hijos). 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 inclinada al principio
de una expresión XPath indica
la raíz del árbol. Una barra inclinada al principio especifique una vía de acceso absoluta. Por ejemplo, /ABC especifica el elemento secundario del nodo raíz
denominado ABC. Si se omite la barra inclinada inicial, la vía de acceso es relativa y
el contexto de dicha vía de acceso relativa adoptará de forma predeterminada el elemento raíz. Utilice las subsiguientes
barras inclinadas en una expresión XPath como separadores de vías de acceso
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 bajo el elemento ABC. |
| * | El asterisco es el carácter comodín que especifica una coincidencia con cualquier nodo secundario (hijo). Por ejemplo, /ABC/*/DEF coincide con cualquier elemento DEF que sea descendiente de segundo nivel del elemento ABC. |
| [] | Los corchetes especifican expresiones de predicado, como los operadores
binarios OR, AND y NOT. Por ejemplo, /RESIDENTS [AGE=65 and NAME="Jane Doe"]/ADDRESS selecciona el elemento dirección de todos los
residentes cuya edad sea 65 y se llamen Jane Doe. Los corchetes también denotan
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. |
| nodename | La variable nodeName selecciona todos los nodos secundarios del nodo indicado. A continuación, se muestran
algunos ejemplos:
|
| . | Un solo punto selecciona el nodo actual. |
| .. | Dos puntos seleccionan el padre del nodo actual. |
| @ | La arroba selecciona atributos. Por ejemplo, //@lang selecciona
todos los atributos que se denominan lang. |
| func_ ' name |
XPath admite un conjunto de funciones integradas como, por ejemplo, substring(), round() y not(). Además, si utiliza espacios de nombres, puede hacer que las funciones definidas por el usuario estén disponibles. |