Compartir a través de


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

child::para[last()]

Selecciona el último elemento <para> en el nodo de contexto.

parent::para

Selecciona el elemento <para> primario en el nodo de contexto.

child::text()

Selecciona todos los elementos secundarios del nodo de texto en el nodo de contexto.

child::div/child::para

Selecciona los elementos secundarios <para> del elemento <div> que es secundario en el nodo de contexto.

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

para

Selecciona los elementos <para> en el nodo de contexto.

../para

Selecciona el elemento <para> primario en el nodo de contexto.

text()

Selecciona todos los elementos secundarios del nodo de texto en el nodo de contexto.

./div/para

Selecciona los elementos secundarios del elemento <para> de los elementos secundarios del elemento <div> en el nodo de contexto.

A continuación se ofrece un resumen de algunas de las abreviaturas:

No abreviado

Abreviado

child::*

*

attribute::*

@*

/descendant-or-self::node()

//

self::node()

.

parent::node()

..

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.