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—
*
|