Il pi� fondamentale dei modelli di XPath � il modello che riferisce il nodo corrente, che consiste di un segno di periodo:
.
Un periodo otterr� il node.when che corrente state attraversando un albero del documento. Cos� il modello corrente di nodo � quindi un modello relativo perch� ha il significato soltanto nel contesto di un albero dei dati. Mentre un contrasto al modello attuale, che � relativo, considera il modello che � usato per selezionare il nodo della radice di un documento. Questo modello � denominato come modello della radice e consiste di singolo taglio di andata:
/
Se state usando un singolo taglio di andata in un'espressione per il documento del campione del ceppo di addestramento, si riferirebbe all'elemento del trainlog perch� questo elemento � l'elemento della radice del documento. Poich� il modello della radice direttamente riferisce una posizione specifica in un documento (il nodo della radice), inoltre � considerato un modello assoluto. Il modello della radice � estremamente importante a XPath perch� rappresenta il punto di partenza dell'albero di nodo del documento.
Se ci � i nodi del bambino l� devono anche essere nodi del genitore. Per accedere ad un nodo del genitore, dovete usare due periodi:
..
Come esempio, se il contesto corrente � uno degli elementi di distanza allora nel documento del ceppo di addestramento. il modello del genitore riferir� il genitore del nodo, che � un elemento di sessione . Potete unire i modelli per ottenere i risultati pi� interessanti. per esempio richiamare un nodo del fratello germano, dovete in primo luogo andare al genitore ed allora riferite il fratello germano come bambino. Cio� usate il modello del genitore (.) seguito da un taglio di andata (/) � seguito dal nome del fratello germano, come questo:
../duration
Questo modello suppone che il contesto � uno degli elementi del bambino dell'elemento di sessione (tranne durata). Presupponendo questo contesto, il modello di ../duration riferir� l'elemento di durata come nodo del fratello germano.
Finora ho messo a fuoco sul riferire i diversi nodi. Tuttavia, � inoltre possibile selezionare i nodi multipli. Per esempio, potete selezionare tutti i nodi del bambino (discendenti) di dato nodo usando il doppio modello di taglio:
//
Come esempio, se il contesto � uno degli elementi di sessione nel ceppo document.e.g. di addestramento potete selezionare tutti i relativi nodi del bambino usando i doppi tagli. Ci� provoca la durata . , distanza , posizione ed elementi di osservazioni che sono selezionati.
Un altro senso selezionare i nodi multipli � usare il modello del metacarattere, che � un asterisco:
*
Il modello del metacarattere seleziona tutti i nodi in un dato contesto. Cos�, se il contesto fosse un elemento di sessione ed usaste il modello */distance , tutti gli elementi di distanza nel documento sarebbero selezionati. Ci� accade perch� il modello primo del metacarattere provoca tutti gli elementi di sessione del fratello germano che sono selezionati, dopo di che la selezione � limitata agli elementi di distanza del bambino.
Ricapitolare, seguenti sono i blocchetti di costruzione primari usati per riferire i nodi in XPath:
- Current node�
.
- Root node�
/
- Parent node�
..
- Child node�
Child
- Sibling node�
/Sibling
- All child nodes�
//
- All nodes�
*
|