Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le query XPath vengono specificate sotto forma di espressione. Esistono diversi tipi di espressioni. Un percorso è un'espressione che seleziona un set di nodi rispetto al nodo di contesto. Il risultato della valutazione di un percorso è un set di nodi.
Tipi di percorsi di posizione
Un percorso può assumere una di queste forme:
Percorso assoluto
Un percorso assoluto inizia nel nodo radice del documento. È costituito da un segno di barra (/) seguito facoltativamente da un percorso relativo. Il segno di barra (/) seleziona il nodo radice del documento.
Percorso relativo
Un percorso relativo inizia dal nodo di contesto nel documento. Un percorso è costituito da una sequenza di uno o più passaggi di posizione separati da un segno di barra (/). Ogni passaggio seleziona un set di nodi rispetto al nodo di contesto. La sequenza iniziale di passaggi seleziona un set di nodi rispetto a un nodo di contesto. Ogni nodo in tale set viene usato come nodo di contesto per il passaggio seguente. I set di nodi identificati da tale passaggio vengono uniti. Ad esempio, child::Order/child::OrderDetail seleziona gli elementi figlio dell'elemento <OrderDetail> degli elementi figlio dell'elemento <Order> del nodo di contesto.
Annotazioni
Nell'implementazione di SQLXML 4.0 di XPath ogni query XPath inizia nel contesto radice, anche se XPath non è esplicitamente assoluto. Ad esempio, una query XPath che inizia con "Customer" viene considerata come "/Customer". Nella query XPath Customer[Order], Customer inizia nel contesto radice, ma Order inizia nel contesto del cliente. Per altre informazioni, vedere Introduzione all'uso di query XPath (SQLXML 4.0).
Passaggi percorso
Un percorso (assoluto o relativo) è costituito da passaggi di posizione che contengono tre parti:
Asse
L'asse specifica la relazione di albero tra i nodi selezionati dal passaggio di posizione e dal nodo di contesto. Gli
parentassi ,attributechild, eselfsono supportati. Se nel percorso del percorso viene specificato unchildasse, tutti i nodi selezionati dalla query sono gli elementi figlio del nodo di contesto. Se viene specificato unparentasse, il nodo selezionato è il nodo padre del nodo di contesto. Se viene specificato unattributeasse, i nodi selezionati sono gli attributi del nodo di contesto.Test del nodo
Un test del nodo specifica il tipo di nodo selezionato dal passaggio di posizione. Ogni asse (
child,parent,attributeeself) ha un tipo di nodo principale. Per l'asseattribute, il tipo di nodo principale è <attributo>. Per gliparentassi ,childeself, il tipo di nodo principale è <elemento> .Ad esempio, se il percorso della posizione specifica child::Customer, vengono selezionati gli elementi figlio dell'elemento< Customer> del nodo di contesto. Poiché l'asse
childha <un elemento> come tipo di nodo principale, il test del nodo, Customer, è TRUE se Customer è un <nodo elemento> .Predicati di selezione (zero o più)
Un predicato filtra un set di nodi rispetto a un asse. La specifica dei predicati di selezione in un'espressione XPath è simile alla specifica di una clausola WHERE in un'istruzione SELECT. Il predicato viene specificato tra parentesi quadre. L'applicazione del test specificato nei predicati di selezione filtra i nodi restituiti dal test del nodo. Per ogni nodo nel set di nodi da filtrare, l'espressione del predicato viene valutata con tale nodo come nodo di contesto, con il numero di nodi nel set di nodi come dimensioni del contesto. Se l'espressione del predicato restituisce TRUE per tale nodo, il nodo viene incluso nel set di nodi risultante.
La sintassi per un passaggio di posizione è il nome dell'asse e il test del nodo separati da due punti (::), seguiti da zero o più espressioni, ognuna tra parentesi quadre. Ad esempio, l'espressione XPath (percorso percorso) child::Customer[@CustomerID='ALFKI'] seleziona tutti gli <elementi figlio dell'elemento Customer> del nodo di contesto. Il test nel predicato viene quindi applicato al set di nodi, che restituisce solo i nodi elemento <Customer> con valore di attributo 'ALFKI' per l'attributo CustomerID .
In questa sezione
Specifica di un asse (SQLXML 4.0)
Vengono forniti esempi di specificare un asse.
Specifica di un test del nodo nel percorso (SQLXML 4.0)
Vengono forniti esempi di specificare un test del nodo.
Specifica dei predicati di selezione nel percorso (SQLXML 4.0)
Fornisce esempi di specificare predicati di selezione.