Vediamo ora come poter leggere il contenuto di un'attributo. Per fare questo modifichiamo leggermente l'XML sorgente dell'esempio 1 e mettiamo il nome dell'artista all'interno di un attributo nome
, in questo modo:
Esempio 4
(l'XML sotto mostrato è solo parziale)
<artista nome="Stanley Jordan">
<albums>
...
</albums>
</artista>
<artista nome="Nick Drake">
<albums>
...
</albums>
</artista>
Se vogliamo leggere il nome dell'artista dobbiamo accedere all'attributo nome dell'elemento artista. Leggere questo valore utilizzando l'elemento xsl:value-of
vuol dire scrivere:
<xsl:value-of select="@nome"/>
Vediamo quindi l'intero documento XSLT (listacd_es4.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">
-
<b>
<xsl:value-of select="@nome"/> <!-- Leggo l'attributo nome dell'elemento artista -->
</b><br/>
</xsl:template>
</xsl:stylesheet>
Il risultato dell'output è molto simile a quello ottenuto nell'esempio 2, eviteremo quindi di riscriverlo lasciando solo la possibilità di vederlo sul browser.