Condividi tramite


Location Path

Un location path è un'espressione XPath che consente di selezionare un set di nodi relativi al nodo di contesto. La valutazione di un'espressione di un location path genera un set di nodi contenenti i nodi specificati dal location path stesso. Un location path può contenere, in modo ricorsivo, espressioni che consentono di filtrare i set di nodi.

La sintassi di un location path è composta da uno o più location step separati l'uno dall'altro da una barra (/):

locationstep/locationstep/locationstep

Ogni location step, inoltre, consente di selezionare un set di nodi relativo al nodo di contesto, ovvero al nodo selezionato dal location step precedente. Un location path espresso in questo modo è un location path relativo. Un location path assoluto inizia con l'elemento radice:

/locationstep/locationstep/locationstep

I location step di un location path vengono valutati da sinistra a destra. Il primo location step a sinistra consente di selezionare un set di nodi relativi al nodo di contesto. Tali nodi, quindi, diventano il contesto utilizzato per poter elaborare il location step successivo. L'elaborazione dei singoli location step e l'aggiornamento dei nodi di contesto vengono ripetuti fino a quando non saranno elaborati tutti i location step.

Un location path può essere abbreviato o non abbreviato.

In un location path non abbreviato il location step presenta la seguente sintassi:

axis::node-test[predicate]

In questa sintassi axis specifica come i nodi selezionati dal location step sono correlati al nodo di contesto, node-test specifica il tipo di nodo e il nome espanso dei nodi selezionati dal location step e predicate è un'espressione di filtro che consente di rendere più dettagliata la selezione dei nodi nel location step. I predicati sono facoltativi. In questo caso il location step comprende solo axis:: e node-test. La seguente tabella contiene alcuni esempi.

Espressione di percorso non abbreviato Descrizione

child::para[last()]

Seleziona l'ultimo elemento <para> del nodo di contesto.

parent::para

Seleziona <para>, che è l'elemento padre del nodo di contesto.

child::text()

Seleziona tutti i nodi figlio di tipo text del nodo di contesto.

child::div/child::para

Seleziona gli elementi figlio <para> dell'elemento <div> che è l'elemento figlio del nodo di contesto.

In un location path abbreviato l'identificatore di asse axis:: non è espresso in modo esplicito nel location step ma in modo implicito da un insieme di collegamenti. La seguente tabella contiene alcuni esempi.

Espressione di percorso abbreviato Descrizione

para

Seleziona gli elementi <para> del nodo di contesto.

../para

Seleziona <para>, che è l'elemento padre del nodo di contesto.

text()

Seleziona tutti i nodi figlio di tipo text del nodo di contesto.

./div/para

Seleziona gli elementi figlio <para> degli elementi figlio <div> del nodo di contesto.

Di seguito è riportato un riepilogo di alcune abbreviazioni:

Non abbreviato Abbreviato

child::*

*

attribute::*

@*

/descendant-or-self::node()

//

self::node()

.

parent::node()

..

In questa sezione

Nei seguenti argomenti vengono spiegati in modo dettagliato la sintassi e l'utilizzo dei singoli componenti delle espressioni di percorso.