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.
Nota: |
---|
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 |
---|---|
|
Individua il primo elemento figlio del nodo di contesto |
|
Individua tutti i progenitori degli elementi figlio |
|
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". |