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”.

Deixe seu comentário
Share

Graduanda em Sistemas de Informação pelo Instituto Federal da Bahia. É responsável pelo atendimento ao cliente, gerenciamento de redes sociais e revisão de cursos, além da redação de artigos para o blog da TreinaWeb.

© 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