Transformação XSLT

Estudo de caso: como usar XSLT para transformar XML em XHTML.

Exploraremos os detalhes deste exemplo na próxima seção.

Declaração correta do estilo de tabela

Declarar o documento como o elemento raiz do estilo de XSL é <xsl:stylesheet> ou <xsl:transform>.

Notas: <xsl:stylesheet> e <xsl:transform> são sinônimos e podem ser usados!

De acordo com o padrão XSLT da W3C, o método correto para declarar um estilo de XSL é:

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

Ou:

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

Para acessar elementos, atributos e características do XSLT, devemos declarar o espaço de nomes XSLT no topo do documento.

xmlns:xsl="http://www.w3.org/1999/XSL/Transform" aponta para o espaço de nomes oficial da W3C XSLT. Se você usar este espaço de nomes, deve incluir o atributo version="1.0".

Começando de um documento XML original

Agora vamos transformar o seguinte documento XML ("cdcatalog.xml") em 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>

Ver arquivo XML no Internet Explorer e Firefox:

Abra o arquivo XML (geralmente clicando em um link) - O documento XML será exibido em código colorido, mostrando o elemento raiz e seus elementos filhos. Clique no sinal + ou - à esquerda do elemento para expandir ou contraí-lo. Para ver o arquivo XML original (sem sinais + e -), selecione "Ver código-fonte da página" no menu do navegador.

Ver XML arquivo no Netscape 6:

Abra o arquivo XML, clique com o botão direito do mouse no arquivo XML e selecione "Ver código-fonte da página". O documento XML será exibido com código colorido mostrando os elementos raiz e filhos.

Ver arquivo XML no Opera 7:

Abra o arquivo XML, clique com o botão direito do mouse no arquivo XML e selecione "Frame"/"Ver código-fonte". O documento XML será exibido como texto puro.

Ver "cdcatalog.xml".

Criar estilo de folha de estilo XSL

Em seguida, crie um estilo de folha de estilo XSL com o modelo de transformação ("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>Minha Coleção de CDs</h2>
    <table border="1">
    <tr bgcolor="#9acd32">
      <th align="left">Título</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>

Ver "cdcatalog.xsl"

Ligar o estilo de folha de estilo XSL ao documento XML

Adicionar referência ao estilo de folha de estilo XSL ao documento XML ("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>

Se o seu navegador é compatível com o XSLT, ele processará seu XML sem problemas. Converter XHTML.

Ver Resultado.

Explicaremos os detalhes do exemplo acima na próxima seção.