Condividi tramite


Location step

Il location step seleziona un set di nodi relativo al nodo di contesto.

Il passo è composto da tre parti: un asse facoltativo, una verifica del nodo e un predicato facoltativo. La sintassi di un location step corrisponde al nome dell'asse seguito da due segni di due punti, dalla verifica del nodo e da zero o più predicati, ognuno dei quali è racchiuso tra parentesi quadre. Il formato base di questa sintassi è il seguente:

axis::nodetest[predicate]
  • axis
    Specifica la relazione, all'interno della struttura ad albero, tra il nodo di contesto e i nodi che devono essere selezionati dal location step. In altri termini, l'asse indica la direzione generale lungo la quale il location step procede a partire dal nodo di contesto. In un location step l'asse è facoltativo. Se omesso, per impostazione predefinita l'asse è child::. Inoltre, molti assi presentano forme abbreviate. Ad esempio, il carattere di e commerciale (@) è l'abbreviazione relativa all'asse attributo.
  • nodetest
    Specifica il tipo di nodo o il nome espanso dei nodi che deve essere selezionato inizialmente dal location step. In pratica, la verifica del nodo indica quali nodi, nell'asse indicato, possono essere considerati candidati, ovvero potenzialmente corrispondenti a quanto indicato nel location step.
  • predicate
    Utilizza un'espressione XPath (condizione da rispettare) per rendere più dettagliato il set di nodi selezionato dal location step. Il predicato è un filtro che specifica un criterio di selezione per rendere più dettagliato l'elenco dei nodi candidati. Il predicato è facoltativo. Se non è disponibile alcun predicato, il location step non presenta parentesi quadre ([ e ]).

Selezione di nodi

Il set di nodi selezionato da un location step deriva dalla generazione di un set di nodi iniziale sulla base della relazione tra l'asse e la verifica del nodo, quindi dal filtraggio del set di nodi iniziale in base a ciascun predicato.

Il set di nodi iniziale è composto dai nodi che rispondono ai due criteri seguenti:

  • La relazione dei nodi al nodo di contesto è quella specificata dall'asse.

  • Il tipo di nodo e il nome espanso dei nodi sono specificati dalla verifica del nodo.

XPath utilizza quindi il primo predicato del location step per filtrare il set di nodi iniziale e generare un nuovo set di nodi. Successivamente, XPath utilizza il secondo predicato per filtrare il set di nodi che risulta dal primo predicato. Questo processo di filtraggio viene ripetuto fino a quando XPath non avrà valutato tutti i predicati. Il set di nodi che risulta dall'applicazione di tutti i predicati è il set di nodi selezionato dal location step.

ms256472.note(it-it,VS.100).gifNota:
Poiché l'asse influisce sulla valutazione dell'espressione in ciascun predicato, la semantica di un predicato è definita in base all'asse specificato.

Nella tabella seguente sono indicati alcuni passi con sintassi completa.

Location step Descrizione

child::*[position()=1]

Individua il primo elemento figlio del nodo di contesto

ancestor-or-self::book[@catdate="2000-12-31"]

Individua tutti i progenitori degli elementi figlio <book> del nodo di contesto, nonché l'elemento figlio <book> stesso, se l'elemento in questione presenta un attributo catdate con valore "2000-12-31".

//parent::node()[name()="book"] | descendant::node()[name()="author"]

Individua tutti i nodi del documento il cui nodo padre presenta il nome "book" oppure tutti i nodi che derivano dal nodo di contesto il cui nome è "author".

Vedere anche

Riferimento

Assi
Verifiche di nodi
Predicati