Share via


Especificar una ruta de acceso de ubicación (SQLXML 4.0)

Se aplica a:SQL ServerAzure SQL Database

Las consultas XPath se especifican en forma de expresión. Existen varios tipos de expresiones. Una ruta de acceso de ubicación es una expresión que selecciona un conjunto de nodos relativos al nodo de contexto. El resultado de evaluar una ruta de acceso de ubicación es un conjunto de nodos.

Tipos de rutas de acceso de ubicación

Una ruta de acceso de ubicación puede usar cualquiera de estos formatos:

  • Ruta de acceso de ubicación absoluta

    Una ruta de acceso de ubicación absoluta comienza en el nodo raíz del documento. Consta de una barra diagonal (/) que puede ir seguida de una ruta de acceso de ubicación relativa. La barra diagonal (/) selecciona el nodo raíz del documento.

  • Ruta de acceso de ubicación relativa

    Una ruta de acceso de ubicación relativa comienza en el nodo de contexto del documento. Una ruta de acceso de ubicación consta de un flujo de uno o más pasos de ubicación separados por una barra diagonal (/). Cada paso selecciona un conjunto de nodos relativos al nodo de contexto. La secuencia inicial de pasos selecciona un conjunto de nodos relativo a un nodo de contexto. Cada uno de los nodos de este conjunto se utiliza como un nodo de contexto en el paso siguiente. Los conjuntos de nodos identificados por este paso se unen. Por ejemplo, child::Order/child::OrderDetail selecciona los <elementos secundarios OrderDetail> del <elemento Order> secundarios del nodo de contexto.

    Nota

    En la implementación SQLXML 4.0 de XPath, cada consulta XPath comienza en el contexto raíz, aunque la consulta XPath no sea explícitamente absoluta. Por ejemplo, una consulta XPath que comienza por "Customer" se trata como "/Customer". En la consulta XPath Customer[Order], Customer comienza en el contexto raíz, pero Order comienza en el contexto customer. Para obtener más información, vea Introducción al uso de consultas XPath (SQLXML 4.0).

Pasos de ubicación

Una ruta de acceso de ubicación (absoluta o relativa) está compuesta por pasos de ubicación que contienen tres partes:

  • Eje

    El eje especifica la relación jerárquica entre los nodos seleccionados por el paso de ubicación y el nodo de contexto. Se admiten los ejes primario, secundario, atributo y self . Si se especifica un eje secundario en la ruta de acceso de ubicación, todos los nodos seleccionados por la consulta son los elementos secundarios del nodo de contexto. Si se especifica un eje primario , el nodo seleccionado es el nodo primario del nodo de contexto. Si se especifica un eje de atributos , los nodos seleccionados son los atributos del nodo de contexto.

  • Prueba de nodo

    Una prueba de nodo especifica el tipo de nodo seleccionado por el paso de ubicación. Cada eje (secundario, primario, atributo y auto) tiene un tipo de nodo principal. Para el eje de atributos , el tipo de nodo principal es <atributo>. En el caso de los ejes primario, secundario y auto , el tipo de nodo principal es <el elemento> .

    Por ejemplo, si la ruta de acceso de ubicación especifica child::Customer, se seleccionan los <elementos secundarios Customer> del nodo de contexto. Dado que el eje secundario tiene <elemento> como su tipo de nodo principal, la prueba de nodo, Customer, es TRUE si Customer es un <nodo de elemento> .

  • Predicados de selección (cero o más)

    Un predicado filtra un conjunto de nodos con respecto a un eje. La especificación de predicados de selección en una expresión XPath es similar a especificar una cláusula WHERE en una instrucción SELECT. El predicado se especifica entre corchetes. Al aplicar la prueba especificada en los predicados de selección, se filtran los nodos devueltos por la prueba de nodo. Para cada nodo del conjunto de nodos que se va a filtrar, la expresión de predicado se evalúa con ese nodo como el nodo de contexto, con el número de nodos del conjunto de nodos como tamaño de contexto. Si la expresión de predicado se evalúa como TRUE para ese nodo, el nodo se incluye en el conjunto de nodos resultante.

    La sintaxis de un paso de ubicación es el nombre de eje y la prueba de nodo separados por dos signos de dos puntos (::), seguidos de cero o más expresiones, cada una de ellas entre corchetes. Por ejemplo, la expresión XPath (ruta de acceso de ubicación) secundaria::Customer[@CustomerID='ALFKI'] selecciona todos los <elementos secundarios customer> del nodo de contexto. A continuación, la prueba del predicado se aplica al conjunto de nodos, que devuelve solo los nodos de elemento Customer> con el< valor de atributo "ALFKI" para su atributo CustomerID.

En esta sección

Especificar un eje (SQLXML 4.0)
Proporciona ejemplos sobre la forma de especificar un eje.

Especificar una prueba de nodo en la ruta de acceso de ubicación (SQLXML 4.0)
Proporciona ejemplos sobre la forma de especificar una prueba de nodo.

Especificar predicados de selección en la ruta de acceso de ubicación (SQLXML 4.0)
Proporciona ejemplos sobre la forma de especificar predicados de selección.