XSLT - Trasformazione
Esempio di studio: come trasformare XML in XHTML utilizzando XSLT?
I dettagli di questo esempio verranno spiegati nel prossimo capitolo.
Dichiarazione del foglio di stile corretto
L'elemento radice che dichiara il documento come foglio di stile XSL è <xsl:stylesheet> o <xsl:transform>.
Nota: <xsl:stylesheet> e <xsl:transform> sono completamente sinonimi e possono essere utilizzati entrambi!
Il modo corretto per dichiarare un foglio di stile XSL secondo la raccomandazione XSLT del W3C è:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
o:
<xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
Per ottenere l'accesso agli elementi, agli attributi e alle funzionalità XSLT, dobbiamo dichiarare lo spazio dei nomi XSLT nella parte superiore del documento.
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" punta allo spazio dei nomi XSLT W3C ufficiale. Se utilizzi questo spazio dei nomi, devi includere anche l'attributo version="1.0".
Inizia con un documento XML non elaborato
Vogliamo trasformare il seguente documento XML ("cdcatalog.xml") in XHTML:
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
.
.
</catalog>
Visualizzazione di file XML in IE, Chrome, Firefox, Safari e Opera: apri il file XML (fai clic sul collegamento in basso) - Il documento XML verrà visualizzato con elementi radice e figlio codificati a colori (tranne in Safari). Spesso è presente un segno più (+) o meno (-) a sinistra degli elementi su cui è possibile fare clic per espandere o comprimere la struttura dell'elemento. Suggerimento: per visualizzare la sorgente XML grezza, fai clic con il pulsante destro del mouse nel file XML e seleziona "Visualizza sorgente"!
Crea un foglio di stile XSL
Quindi crei un foglio di stile XSL ("cdcatalog.xsl") con un modello di trasformazione:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Collega il foglio di stile XSL al documento XML
Aggiungi il riferimento al foglio di stile XSL al tuo documento XML ("cdcatalog.xml"):
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
.
.
</catalog>
Se hai un browser compatibile con XSLT, trasformerà piacevolmente il tuo XML in XHTML.
I dettagli dell'esempio precedente verranno spiegati nei prossimi capitoli.