Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese
Informazioni
L'argomento richiesto è visualizzato di seguito, ma non è incluso in questa libreria.

Verifiche del nome

Una verifica del nome è la forma più comune di verifica del nodo, poiché consente di specificare in modo esplicito il nome dei nodi da selezionare. Tuttavia, la sola specifica del nome di un nodo non consente automaticamente la selezione del nodo appropriato, poiché una struttura ad albero del documento può includere diversi tipi di nodo con lo stesso nome. Per selezionare il nodo appropriato, una verifica del nome seleziona solo i nodi i cui nomi corrispondono al nome specificato e il cui tipo di nodo corrisponde al tipo di nodo principale dell'asse specificato.

Nella tabella seguente sono elencati i principali tipi di nodo per i diversi assi.

Asse

Tipo di nodo principale

Qualsiasi asse diverso da attribute:: o namespace:: (ovvero, un asse che può contenere elementi)

element

Attributo

Attributo

namespace

spazio dei nomi

Il nome specificato in una verifica del nome può essere di tre tipi: un asterisco (*), un QName o l'espressione NCName:*. Nella tabella seguente sono illustrati esempi di come ciascun tipo di nome funzioni assieme all'asse specificato per individuare un set di nodi particolare.

Nome

Restituisce

Esempio

* (asterisco)

True per qualsiasi nodo del tipo principale.

ancestor::* seleziona tutti i progenitori del nodo di contesto.

attribute::* seleziona tutti gli attributi del nodo di contesto.

namespace::* seleziona tutti gli spazi dei nomi del nodo di contesto.

QName

True per qualsiasi nodo del tipo principale il cui nome espanso sia uguale al nome espanso specificato dal nome completo.

child::para seleziona tutti i nodi degli elementi <para> che sono elementi figlio del nodo di contesto. Se il nodo di contesto non dispone di elementi figlio <para>, viene selezionato un set di nodi vuoto.

NCName:*

True per qualsiasi nodo del tipo principale il cui nome espanso dispone dell'URI dello spazio dei nomi a cui si estende l'NCName, indipendentemente dal nome locale.

child::ns:* seleziona tutti i nodi dell'elemento figlio contenuti nello spazio dei nomi con prefisso ns.

Se la verifica del nome è un nome completo, XPath deve prima espandere tale nome in base alle dichiarazioni degli spazi dei nomi di contesto nel file XML. Questo processo di espansione è identico al processo di espansione per i nomi di elementi nei tag di inizio e di fine, ad eccezione del fatto che non viene utilizzato lo spazio dei nomi predefinito dichiarato con xmlns. Se il nome completo non dispone di un prefisso, XPath ricerca i nodi i cui nomi locali corrispondono al nome completo fornito e il cui URI dello spazio dei nomi sia null. Un nome completo provoca un errore se il relativo prefisso non corrisponde ad alcuna dichiarazione dello spazio dei nomi del contesto nel file.

Se la verifica del nodo è NCName:*, XPath espande l'NCName nello stesso modo in cui espanderebbe il prefisso di un nome completo. Allo stesso modo, un NCName:* provoca un errore se la relativa parte non corrisponde ad alcun prefisso contenuto nelle dichiarazioni dello spazio dei nomi del contesto nel file.

Aggiunte alla community

Mostra: