Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las consultas XPath se especifican en forma de expresión. Hay varios tipos de expresiones. Una ruta de acceso de ubicación es una expresión que selecciona un conjunto de nodos en relación con el 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 adoptar cualquiera de estas formas:
Ruta de acceso de ubicación absoluta
Una ruta de acceso de ubicación absoluta se inicia en el nodo raíz del documento. Consta de una barra diagonal (/) opcionalmente seguida de una ruta de acceso de ubicación relativa. La marca de barra diagonal (/) selecciona el nodo raíz del documento.
Ruta de acceso de ubicación relativa
Una ruta de acceso de ubicación relativa se inicia en el nodo de contexto del documento. Una ruta de acceso de ubicación consta de una secuencia de uno o varios 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 relativos a un nodo de contexto. Cada nodo de ese conjunto se usa como nodo de contexto para el paso siguiente. Conjuntos de nodos identificados por ese paso están unidos. Por ejemplo, child::Order/child::OrderDetail selecciona los <elementos secundarios OrderDetail> del <elemento Order> secundarios del nodo de contexto.
Nota:
En la implementación de SQLXML 4.0 de XPath, todas las consultas XPath comienzan en el contexto raíz, aunque XPath no sea explícitamente absoluta. Por ejemplo, una consulta XPath que comienza con "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) se compone de pasos de ubicación que contienen tres partes:
eje de
El eje especifica la relación de árbol entre los nodos seleccionados por el paso de ubicación y el nodo de contexto. Se admiten los
parentejes ,childattribute, yself. Si se especifica unchildeje 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 unparenteje, el nodo seleccionado es el nodo primario del nodo de contexto. Si se especifica unattributeeje, 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 (
child,parent,attributeyself) tiene un tipo de nodo principal. Para elattributeeje, el tipo de nodo principal es <el atributo> . Para losparentejes ,childyself, 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 del elemento Customer> del nodo de contexto. Dado que el
childeje tiene <elemento> como su tipo de nodo principal, la prueba del 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. Especificar 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. La aplicación de la prueba especificada en los predicados de selección filtra 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 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 del eje y la prueba de nodo separadas por dos puntos (::), seguidas de cero o más expresiones, cada una entre corchetes. Por ejemplo, la expresión XPath (ruta de acceso de ubicación) child::Customer[@CustomerID='ALFKI'] selecciona todos los <elementos secundarios del elemento 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 de especificación de un eje.
Especificar una prueba de nodo en la ruta de acceso de ubicación (SQLXML 4.0)
Proporciona ejemplos de especificación de una prueba de nodo.
Especificar predicados de selección en la ruta de acceso de ubicación (SQLXML 4.0)
Proporciona ejemplos de especificación de predicados de selección.