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.
Se aplica a:SQL Server
Azure SQL Database
Una prueba de nodo especifica el tipo de nodo seleccionado por el paso de ubicación. Cada eje (secundario, primario, atributo o propio) tiene un tipo de nodo principal. Para el eje de atributos, el tipo de nodo principal es>. Para los ejes primario, secundario y auto , el tipo de nodo principal es <el elemento> .
Nota:
La prueba de nodo de carácter comodín * (por ejemplo, child::*) no se admite.
Prueba de nodo: ejemplo 1
La ruta child::Customer de acceso de ubicación selecciona <Elementos secundarios del elemento Customer> del nodo de contexto.
En este ejemplo, child es el eje y Customer es la prueba de nodo. El tipo de nodo principal para el eje secundario es <el elemento> . Por lo tanto, la prueba de nodo es TRUE si el <> es un<>. Si el nodo de contexto no tiene elementos <secundarios customer> , se devuelve un conjunto vacío de nodos.
Prueba de nodo: Ejemplo 2
La ruta attribute::CustomerID de acceso de ubicación selecciona el atributo CustomerID del nodo de contexto.
En el ejemplo, attribute es el eje y CustomerID es la prueba de nodo. El tipo de nodo principal del eje de atributos es <attribute>. Por lo tanto, la prueba del nodo es TRUE si CustomerID es un>. Si el nodo de contexto no tiene CustomerID, se devuelve un conjunto vacío de nodos.
Nota:
En esta implementación de XPath, si un paso de ubicación hace referencia a un elemento<> que no se declara en el esquema, se genera un error. Este comportamiento es diferente al de la implementación de XPath en MSXML, que devuelve un conjunto de nodos vacío.
Sintaxis abreviada para los ejes
Se admite la sintaxis abreviada siguiente para la ruta de acceso de ubicación:
attribute::se puede abreviar como@.La ruta de acceso de ubicación
Customer[@CustomerID="ALFKI"]es la misma quechild::Customer[attribute::CustomerID="ALFKI"].child::se puede omitir en un paso de ubicación.Por lo tanto, el elemento secundario es el eje predeterminado. La ruta de acceso de ubicación
Customer/Orderes la misma quechild::Customer/child::Order.self::node()se puede abreviar en un punto (.) yparent::node()se puede abreviar en dos puntos (..).