Compartir a través de


Ejes

Una ruta de acceso utiliza un eje para especificar la relación que existe entre los nodos seleccionados por la fase de ubicación y el nodo de contexto.

Ejes Descripción

ancestor::

Los antecesores del nodo de contexto.

Los antecesores del nodo de contexto se componen de los elementos primarios del nodo de contexto y los elementos primarios de los elementos primarios, etc.; por consiguiente, el eje ancestor:: siempre incluye el nodo raíz a menos que el nodo de contexto sea el nodo raíz.

ancestor-or-self::

El nodo de contexto y sus antecesores.

El eje ancestor-or-self:: siempre incluye el nodo raíz.

attribute::

Los atributos del nodo de contexto.

Este eje estará vacío a menos que el nodo de contexto sea un elemento.

child::

Los elementos secundarios del nodo de contexto.

Un elemento secundario es cualquier nodo cuya posición en el árbol esté justo por debajo del nodo de contexto. No obstante, ni los nodos de espacio de nombres ni de atributo se consideran elementos secundarios del nodo de contexto.

descendant::

Los descendientes del nodo de contexto.

Un descendiente es un elemento secundario o un elemento secundario de otro elemento secundario, etc.; por consiguiente, el eje descendant:: jamás contendrá nodos de atributo ni de espacio de nombres.

descendant-or-self::

El nodo de contexto y sus descendientes.

following::

Todos los nodos que se encuentran después del nodo de contexto en el árbol, salvo los descendientes, los nodos de atributo y los nodos de espacio de nombres.

following-sibling::

Todos los elementos relacionados posteriores del nodo de contexto.

El eje following-sibling:: identifica solo aquellos elementos secundarios de un nodo principal que aparece en el árbol después del nodo de contexto. Este eje excluye los demás elementos secundarios que aparecen antes del nodo de contexto.

Si el nodo de contexto es un nodo de atributo o de espacio de nombres, el eje following-sibling:: estará vacío.

namespace::

Los nodos de espacio de nombres del nodo de contexto.

Hay un nodo de espacio de nombres para cada espacio de nombres que se encuentre en el ámbito del nodo de contexto.

Este eje estará vacío a menos que el nodo de contexto sea un elemento.

parent::

El elemento principal del nodo de contexto, si lo hay.

Un elemento principal es el nodo cuya posición en el árbol está justo por encima del nodo de contexto.

preceding::

Todos los nodos que se encuentran antes del nodo de contexto en el árbol, salvo los antecesores, los nodos de atributo y los nodos de espacio de nombres.

El eje anterior se puede considerar como todos los nodos cuyo contenido aparece en su totalidad antes de comenzar el nodo de contexto.

preceding-sibling::

Todos los elementos relacionados anteriores del nodo de contexto.

El eje preceding-sibling:: identifica solo aquellos elementos secundarios de un nodo principal que aparecen en el árbol antes del nodo de contexto. Este eje excluye los demás elementos secundarios que aparecen después del nodo de contexto.

Si el nodo de contexto es un nodo de atributo o de espacio de nombres, el eje preceding-sibling:: estará vacío.

self::

El nodo de contexto en sí.

Notas

  • espacio de nombres
    Cada elemento tiene un conjunto de nodos de espacio de nombres asociado, uno para cada prefijo de espacio de nombres distinto que se encuentre en el ámbito del elemento (incluido el prefijo xml, que aparece implícito en la recomendación de espacios de nombres de XML) y uno para el espacio de nombres predeterminado si hay uno en el ámbito del elemento. El elemento es el principal de cada uno de estos nodos de espacio de nombres; sin embargo, un nodo de espacio de nombres no es un elemento secundario de su elemento principal. Los elementos nunca comparten nodos de espacio de nombres: si un nodo de elemento no es el mismo nodo que otro nodo de elemento, ninguno de los nodos de espacio de nombres del nodo de elemento será el mismo nodo que los nodos de espacio de nombres de otro nodo de elemento. Esto quiere decir que un elemento tendrá un nodo de espacio de nombres:

    • Para cada atributo del elemento cuyo nombre comience por xmlns:.

    • Para cada atributo del elemento antecesor cuyo nombre comience por xmlns:, a menos que el elemento o un antecesor cercano vuelva a declarar el prefijo.

    • En el caso de un atributo xmlns, si el elemento o algún antecesor tiene un atributo xmlns y el valor del atributo xmlns del elemento más cercano no está vacío.

El elemento <sample> del siguiente ejemplo:

contiene los siguientes nodos de espacio de nombres:

El elemento <sample> del siguiente ejemplo:

contiene los siguientes nodos de espacio de nombres:

xmlns:sampletest="sampletest"

xmlns:test="test"

ms256456.note(es-es,VS.100).gifNota:
Un atributo xmlns="" no declara el espacio de nombres predeterminado.

Un nodo de espacio de nombres tiene un nombre expandido: la parte local es el prefijo del espacio de nombres (está vacío si el nodo de espacio de nombres es para el espacio de nombres predeterminado); el identificador de recursos uniforme (URI) de espacio de nombres siempre es nulo.

El valor de cadena de un nodo de espacio de nombres es el identificador URI de espacio de nombres que se está enlazando al prefijo de espacio de nombres; si está relacionado, debe resolverse como un identificador URI de espacio de nombres en un nombre expandido.

Ejemplos

following::

Los ejemplos para el eje following:: hacen referencia a este documento de muestra:

Consulta Nodos devueltos

A/B[1]/following::*

A/B[1]/following::node()

preceding::

El ejemplo para el eje preceding:: hace referencia a este documento de muestra:

Consulta Nodos devueltos

A/B[2]/preceding::*

following-sibling::

El ejemplo para el eje following-sibling:: hace referencia a este documento de muestra:

Consulta Nodos devueltos

A/B[1]/following-sibling::*

preceding-sibling::

El ejemplo para el eje preceding-sibling:: hace referencia a este documento de muestra:

Consulta Nodos devueltos

A/B[2]/preceding-sibling::*

Vea también

Referencia

Fases de ubicación
Pruebas de nodos
Predicados