Come abbiamo già visto in tutti gli esempi precedenti per muoverci tra i nodi di un albero possiamo utilizzare le seguenti espressioni:
Espressione | Risultato |
---|---|
artista/@nome |
Seleziona l'attributo nome dell'elemento <artista> . Se scriviamo solo @nome seleziona l'attributo nome del nodo in cui ci troviamo |
. |
Il punto, come abbiamo visto negli esempi precedenti, seleziona il valore del nodo in cui ci troviamo |
.. |
Il doppio punto ci fa risalire al genitore dell'elemento in cui ci troviamo |
* |
Carattere Jolly che selezione tutti e solo gli elementi figli del nodo in cui ci troviamo |
//album |
Seleziona tutti gli elementi <album> indipendentemente dalla loro profondità rispetto al nodo in cui si trovano |
Possiamo anche ottenere altre informazioni utilizzando
ulteriori funzioni che ci permettono ad esempio di ottenere la posizione del
nodo in cui ci troviamo o di leggere il valore del nome del nodo.
Funzione | Risultato |
---|---|
position() |
Fornisce il valore della posizione del nodo corrente partendo dal numero 1 |
name() |
Fornisce il nome del nodo (ovvero il nome del tag) |
count() |
Fornisce il numero dei nodi all'interno di un elemento specificato |
Esempio 8
Codice XSLT utilizzato (listacd_es8.xslt)
<?xml version="1.0" encoding="UTF-8"?> <!-- Prologo XML --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <xsl:apply-templates select="//artista"/> </html> </xsl:template> <xsl:template match="//artista"> <strong> <xsl:value-of select="position()"/><!-- Seleziona il numero progressivo del nodo --> ) <xsl:value-of select="name()"/><!-- Seleziona il nome del nodo ovvero il nome del TAG --> : </strong> <xsl:value-of select="@nome"/> <br /> </xsl:template> </xsl:stylesheet>
Risultato in Output della trasformazione (esempio 8)
1) artista : Stanley Jordan
2) artista : Nick Drake
3) artista : Jeff Buckley
4) artista : Joe Satriani
Clicca qui per vedere il risultato della trasformazione sul browser.
Nota: potrebbero esserci dei problemi di visualizzazione con FireFox, per un problema del browser stesso
Clicca qui per vedere l'XSLT sul browser.
Se vuoi aggiornamenti su Development inserisci la tua email nel box qui sotto: