Rutas de acceso de ubicación
Una ruta de acceso de ubicación es una expresión XPath que se utiliza para seleccionar un conjunto de nodos relacionados con el nodo de contexto. La evaluación de una expresión de ruta de acceso de ubicación tiene como resultado un conjunto de nodos con los nodos especificados en la ruta de acceso de ubicación. Una ruta de acceso de ubicación puede contener de forma recursiva expresiones utilizadas para filtrar conjuntos de nodos.
Sintácticamente, una ruta de acceso de ubicación consiste en una o más fases de ubicación, separada cada una por una barra diagonal (/
):
locationstep/locationstep/locationstep
Cada fase de ubicación selecciona a su vez un conjunto de nodos en relación con el nodo de contexto, es decir, con el nodo seleccionado por la fase de ubicación anterior. Una ruta de acceso de ubicación expresada de esta forma es una ruta de acceso de ubicación relativa. Una ruta de acceso de ubicación absoluta comienza desde el elemento raíz.
/locationstep/locationstep/locationstep
En una ruta de acceso de ubicación, las fases de ubicación se evalúan de izquierda a derecha. La fase de ubicación más a la izquierda selecciona un conjunto de nodos en relación con el nodo de contexto. Estos nodos se convierten en el contexto utilizado para procesar la siguiente fase de ubicación. Este proceso de fases y actualización del nodo de contexto se repite hasta que todas las fases de ubicación se han procesado.
Una ruta de acceso de ubicación puede abreviarse o no abreviarse.
En una ruta de acceso de ubicación no abreviada, una fase de ubicación tiene la siguiente sintaxis:
axis::node-test[predicate]
En esta sintaxis, axis
especifica cómo los nodos seleccionados mediante la fase de ubicación están relacionados con el nodo de contexto; node-test
especifica el tipo de nodo y el nombre expandido de los nodos seleccionados mediante la fase de ubicación; y predicate
es una expresión de filtro para refinar aún más la selección de nodos en la fase de ubicación. Los predicados son opcionales. En esta caso, una fase de ubicación consiste en axis::
y node-test
solamente. La tabla siguiente proporciona algunos ejemplos.
Ruta de acceso de ubicación no abreviada | Descripción |
---|---|
|
Selecciona el último elemento |
|
Selecciona el elemento |
|
Selecciona todos los elementos secundarios del nodo de texto en el nodo de contexto. |
|
Selecciona los elementos secundarios |
En una ruta de acceso de ubicación abreviada, el especificador de eje, axis::
, no se expresa explícitamente en una fase de ubicación, sino de forma implícita mediante un conjunto de accesos directos. La tabla siguiente proporciona algunos ejemplos.
Ruta de acceso de ubicación abreviada | Descripción |
---|---|
|
Selecciona los elementos |
|
Selecciona el elemento |
|
Selecciona todos los elementos secundarios del nodo de texto en el nodo de contexto. |
|
Selecciona los elementos secundarios del elemento |
A continuación se ofrece un resumen de algunas de las abreviaturas:
No abreviado | Abreviado |
---|---|
|
|
|
|
|
|
|
|
|
|
En esta sección
Los temas siguientes describen detalladamente la sintaxis y el uso de los sectores de las rutas de acceso de ubicación.