Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Un test del nodo specifica il tipo di nodo selezionato dal passaggio di posizione. Ogni asse (child, parent, attributeo self) ha un tipo di nodo principale. Per l'asse attribute , il tipo di nodo principale è <attributo>. Per gli parentassi , childe self , il tipo di nodo principale è <elemento> .
Annotazioni
Il test del nodo con caratteri jolly * (ad esempio, child::*) non è supportato.
Test del nodo: esempio 1
Il percorso child::Customer seleziona elementi <figlio dell'elemento Customer> del nodo di contesto.
In questo esempio, child è l'asse ed Customer è il test del nodo. Il tipo di nodo principale per l'asse child è <elemento>. Pertanto, il test del nodo è TRUE se il <nodo Customer> è un <nodo elemento> . Se il nodo di contesto non <ha elementi figlio cliente> , viene restituito un set vuoto di nodi.
Test del nodo: esempio 2
Il percorso attribute::CustomerID seleziona l'attributo CustomerID del nodo di contesto.
Nell'esempio, attribute è l'asse ed CustomerID è il test del nodo. Il tipo di nodo principale dell'asse attribute è <attributo>. Pertanto, il test del nodo è TRUE se CustomerID è un nodo dell'attributo<>. Se il nodo di contesto non dispone di CustomerID, viene restituito un set vuoto di nodi.
Annotazioni
In questa implementazione di XPath, se un passaggio di posizione fa riferimento a un <elemento> o a un <tipo di attributo> non dichiarato nello schema, viene generato un errore. Questo comportamento è diverso dall'implementazione di XPath in MSXML, che restituisce un set di nodi vuoto.
Sintassi abbreviata per gli assi
È supportata la sintassi abbreviata seguente per il percorso del percorso:
attribute::può essere abbreviato in@.Il percorso
Customer[@CustomerID="ALFKI"]è ugualechild::Customer[attribute::CustomerID="ALFKI"]a .child::può essere omesso da un passaggio della posizione.Pertanto,
childè l'asse predefinito. Il percorsoCustomer/Orderè ugualechild::Customer/child::Ordera .self::node()può essere abbreviato in un punto (.) eparent::node()può essere abbreviato in due punti (..).