xslt

O que é XSLT?

XSLT ou XSL Transformations (Linguagem de Folhas de estilo Extensível para Transformações) é uma linguagem de marcação XML que é utilizada para criar documentos XSL.

Documentos XSL (XSL é abreviação de eXtensible Stylesheet Language (Linguagem de Folha de Estilos Extensível)) definem a apresentação dos documentos XML nos browsers e outros aplicativos que os suportem.

Há casos em que precisamos exibir o conteúdo de arquivos XML em outros dispositivos, seja por meio de páginas HTML ou até XHTML. Nestes casos, precisamos capturar os dados existentes nos arquivos XML e enviá-los para outros formatos. É como se usássemos o arquivo XML como um banco de dados para gerar um arquivo HTML.

Para este processamento podemos utilizar o XSLT, que irá capturar os dados do arquivo XML a fim de exibi-los em um arquivo HTML, por exemplo.

XSLT Completo
Curso de XSLT Completo
CONHEÇA O CURSO

Como funciona o XSLT

Basicamente, quando precisamos exibir o conteúdo de um arquivo XML e transformá-lo em um arquivo HTML, utilizamos uma série de comandos que irá interpretar a hierarquia do arquivo XML e transformá-lo em dados para um arquivo HTML.

O XSLT, então, possui papel fundamental neste processamento, já que é ele quem vai determinar como os dados serão lidos. Basicamente, o XSLT utiliza o arquivo XML original para gerar uma árvore e a converte para uma outra árvore, porém, apenas com os dados processados, permitindo que estes sejam acessados posteriormente.

Um arquivo XSLT contém blocos que possuem expressões indicando o elemento do arquivo XML que será processado. São esses blocos que definem os dados a serem processados, como veremos no exemplo abaixo.

Transformando arquivos XML

Imagine que você precisa obter os dados de um arquivo XML e, a partir deles, criar uma página HTML para exibi-los. Com o XSLT, isso é possível e veremos abaixo como este processo funciona:

O arquivo XML utilizado para este exemplo pode ser visto abaixo, ele é, basicamente, uma coleção de dados de clientes de uma empresa:

<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
    <cd>
        <nome>José Augusto</nome>
        <profissao>Programador</profissao>
        <nascimento>1985</nascimento>
    </cd>
    <cd>
        <nome>Maria Laura</nome>
        <profissao>Gerente de negócios</profissao>
        <nascimento>1988</nascimento>
    </cd>
    <cd>
        <nome>Pedro Paulo</nome>
        <profissao>Corretor</profissao>
        <nascimento>1982</nascimento>
    </cd>
</catalog>

Agora precisamos acessar cada entrada do documento XML acima e, para cada uma delas, adicionar a uma tabela do arquivo HTML final. Para este processamento, utilizamos o código XSLT abaixo:

<?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>
  <head>
    <title>Lista de clientes</title>
    </head>
  <body>
  <h2>Clientes</h2>
    <table border="1">
      <tr bgcolor="#9acd32">
        <th>Nome</th>
        <th>Profissão</th>
        <th>Nascimento</th>
      </tr>
      <xsl:for-each select="catalog/cd">
      <tr>
        <td><xsl:value-of select="nome"/></td>
        <td><xsl:value-of select="profissao"/></td>
        <td><xsl:value-of select="nascimento"/></td>
      </tr>
      </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

O código XSLT acima irá percorrer a lista de dados do arquivo XML utilizando o comando for-each a partir da coleção obtida das tags cagalog/cd do arquivo XML. Para cada entrada presente nesta coleção, adicionamos a uma entrada da tabela do arquivo HTML utilizando o comando value-of select e informando qual campo queremos exibir naquele <td>. Como resultado deste processamento, teremos o seguinte código HTML:

<html>
   <head>
      <title>Lista de clientes</title>
   </head>
   <body>
      <h2>Clientes</h2>
      <table border="1">
         <tr bgcolor="#9acd32">
            <th>Nome</th>
            <th>Profissao</th>
            <th>Nascimento</th>
         </tr>
         <tr>
            <td>José Augusto</td>
            <td>Programador</td>
            <td>1985</td>
         </tr>
         <tr>
            <td>Maria Laura</td>
            <td>Gerente de negócios</td>
            <td>1988</td>
         </tr>
         <tr>
            <td>Pedro Paulo</td>
            <td>Corretor</td>
            <td>1982</td>
         </tr>
      </table>
   </body>
</html>

Com isso, utilizamos o conteúdo do arquivo XML e, com o XSLT, populamos a tabela de clientes da nossa página HTML.

Conclusão

Como vimos neste artigo, o XSLT é muito útil quando precisamos utilizar os dados contidos em um arquivo XML para exibí-los em um outro formato. É uma espécie de linguagem de consulta de arquivos XML, muito utilizada em empresas que possuem arquivos enormes de XML com dados que precisam ser exibidos de uma forma mais “amigáveis”.

© 2004 - 2019 TreinaWeb Tecnologia LTDA - CNPJ: 06.156.637/0001-58 Av. Paulista, 1765, Conj 71 e 72 - Bela Vista - São Paulo - SP - 01311-200