Trasformazione XSLT

Studio di caso: come utilizzare XSLT per convertire XML in XHTML.

Spiegheremo i dettagli di questo esempio nel prossimo capitolo.

Dichiarazione corretta dello stile

Dichiarare il documento come elemento radice dello stile XSL è <xsl:stylesheet> o <xsl:transform>.

Nota: <xsl:stylesheet> e <xsl:transform> sono completamente sinonimi e possono essere utilizzati!

Secondo lo standard XSLT del W3C, il metodo corretto per dichiarare uno stile XSL è:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

O meglio:

<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

Per accedere agli elementi, attributi e caratteristiche di XSLT, dobbiamo dichiarare lo spazio dei nomi XSLT all'inizio del documento.

xmlns:xsl="http://www.w3.org/1999/XSL/Transform" indica lo spazio dei nomi ufficiale W3C XSLT. Se si utilizza questo spazio dei nomi, è necessario includere l'attributo version="1.0".

Partiamo da un documento XML originale

Ora dobbiamo convertire il seguente documento XML ("cdcatalog.xml") in XHTML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<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>

Visualizza il file XML in Internet Explorer e Firefox:

Apri il file XML (solitamente tramite cliccare su un collegamento) - Il documento XML viene visualizzato come codice colorato che mostra l'elemento radice e i suoi elementi figli. Cliccando sul segno + o - alla sinistra dell'elemento è possibile espandere o contrarre la struttura dell'elemento. Se si desidera visualizzare il file XML originale (senza segni + e -), selezionare "Visualizza codice sorgente della pagina" nel menu del browser.

Visualizza il file XML in Netscape 6:

Apri il file XML, quindi clicca con il tasto destro e seleziona "Visualizza codice sorgente della pagina". Il documento XML verrà visualizzato con il codice colorato per gli elementi radice e figli.

Visualizza il file XML in Opera 7:

Apri il file XML, quindi clicca con il tasto destro e seleziona "Struttura"/"Visualizza codice sorgente". Il documento XML verrà visualizzato come testo puro.

Visualizza "cdcatalog.xml"

Crea il foglio di stile XSL

Poi crea un foglio di stile XSL con il modello di trasformazione ("cdcatalog.xsl"):

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <html>
  <body>
    <h2>Mia raccolta di CD</h2>
    <table border="1">
    <tr bgcolor="#9acd32">
      <th align="left">Titolo</th>
      <th align="left">Artista</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>

Visualizza "cdcatalog.xsl"

Collega il foglio di stile XSL al documento XML

Aggiungi un riferimento al foglio di stile XSL all'XML documento ("cdcatalog.xml"):

<?xml version="1.0" encoding="ISO-8859-1"?>
<?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>

如果您使用的浏览器兼容 XSLT,它会很顺利地把您的 XML 转换为 XHTML。

查看结果

我们将在下一节对上面的例子中的细节进行解释。