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.
Una prueba de nodo especifica el tipo de nodo seleccionado por el paso de ubicación. Cada eje (child, parent, attributeo self) tiene un tipo de nodo principal. Para el attribute eje, el tipo de nodo principal es <el atributo> . Para los parentejes , childy self , el tipo de nodo principal es <el elemento> .
Nota:
No se admite la prueba de nodo comodín * (por ejemplo, child::*).
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 del child eje es <el elemento> . Por lo tanto, la prueba de nodo es TRUE si el <nodo Customer> es un <nodo de elemento> . 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 attribute eje es <el atributo> . Por lo tanto, la prueba del nodo es TRUE si CustomerID es un <nodo de atributo> . 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> o a un<<tipo de atributo> que no se declara en el esquema, se genera un error. Esto es diferente de la implementación de XPath en MSXML, que devuelve un conjunto de nodos vacío.
Sintaxis abreviada para los ejes
Se admite la siguiente sintaxis abreviada para la ruta de acceso de ubicación:
attribute::se puede abreviar a@.La ruta de acceso de
Customer[@CustomerID="ALFKI"]ubicación es la misma quechild::Customer[attribute::CustomerID="ALFKI"].child::se puede omitir en un paso de ubicación.Por lo tanto,
childes el eje predeterminado. La ruta de acceso deCustomer/Orderubicación es la misma quechild::Customer/child::Order.self::node()se puede abreviar a un punto (.) yparent::node()se puede abreviar a dos puntos (..).