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.
Curso XSLT Completo
Conhecer o cursoComo 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”.