Usando a Extensible Style Language - XSL
No artigo - XML - Introdução - abordamos os conceitos básicos sobre a linguagem XML . Muita água já rolou depois disto e o a utilização da XML vem crescendo como uma bola de neve , por isso é bom você conhecer mais sobre esta 'linguagem'.
O que é a XSL - Extensible Style Language e para que ela serve ?
Bem , para responder esta pergunta você deve primeiro criar um arquivo XML e tentar exibí-lo no seu Navegador. Tente e veja o resultado. Vou usar o arquivo boletim.xml (simplificado) do artigo acima citado. Vejamos o jeitão do arquivo boletim.xml e o resultado de sua exibição :
| <?xml version="1.0"?>
<boletim>
<aluno>
     <nome>JANICE</nome>
     <portugues>7</portugues>
     <matematica>8</matematica>
     <ciencias>6</ciencias>
</aluno>
<aluno>
     <nome>JEFFERSON</nome>
     <portugues>5</portugues>
     <matematica>8</matematica>
     <ciencias>7</ciencias>
</aluno>
</boletim> |  | 
| O arquivo boletim.xml | A exibição do arquivo boletim.xml no IE | 
Obs: O arquivo boletim.xml pode ser criado em qualquer editor de texto.Para exibir o arquivo bsta clicar duas vezes sobre o arquivo.
Gostou do resultado ? Pois esta é a forma padrão de apresentação dos dados de um arquivo XML em um Navegador.
Então a XSL-Extensible Style Language foi criada para permitir uma forma prática de exibir dados XML em um Navegador , ou seja , ela permite apresentar os dados de uma maneira mais inteligível. (Podemos usar a CSS - Cascade Style Sheet em conjunto com a XSL para apresentar os dados de um arquivo XML)
Esquematizando temos:
- XML - informação (dados)
- XSL , CSS - apresentação ( XML + XSL = HTML )
Podemos dizer também que a XSL contém informações que permite converter um documento XML para outro formato ( HTML , RTF , etc...) , permitindo assim múltiplas apresentações de um mesmo documento.
O XSL é formato de Templates e cada template possui duas partes :
- Pattern - Referência ao elemento
- Action - formato aplicado ao elemento
Assim como a XML a XSL é uma recomendação da W3C e é formada assim :
- XSL - responsável pela formatação
- CSS - responsável pelas folhas de estilo
Formatando um documento XML com XSL
Vamos mostrar como formatar o documento boletim.xml e exibir os dados no formato de um arquivo HTML , uma tabela onde devemos ter:
| nome | portugues | matematica | ciências | 
| Janice | 7 | 8 | 6 | 
| Jefferson | 5 | 8 | 7 | 
A primeira coisa a fazer para formatar um documento XML é incluir uma linha no documento XML a ser formatado que indique o arquivo XSL que irá formatar os dados que serão exibidos no Navegador. A sintaxe da declaração a ser incluída é :
| <?xml-stylesheet type="text/xsl" href="arquivo.xsl"?> | 
Vamos formatar o arquivo boletim.xml . Para isso temos que incluir uma declaração dentro do arquivo boletim.xml , veja abaixo:
| <?xml-stylesheet type="text/xsl" href="boletim.xsl"?>
<boletim>
 <aluno>
        <nome>JANICE</nome>
        <portugues>7</portugues>
        <matematica>8</matematica>
        <ciencias>6</ciencias>
 </aluno>
 <aluno>
        <nome>JEFFERSON</nome>
        <portugues>5</portugues>
        <matematica>8</matematica>
        <ciencias>7</ciencias>
   </aluno>
</boletim> | 
| O arquivo boletim.xml com a declaração para o arquivo XSL - Boletim.xsl | 
Obs: O arquivo XSL é um arquivo externo que será usado para formatar o documento.
Vamos mostrar agora o arquivo boletim.xls que irá formatar o documento boletim.xml:
| <?xml version="1.0" ?> 
<HTML xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<BODY>
          <TABLE BORDER="1" CELLPADDING="2">
                <tr>
                   <td>nome</td>
                   <td>portugues</td>
                   <td>matematica</td>
                   <td>ciencias</td>
                </tr>
              <xsl:for-each select="boletim/aluno">
		<TR>
		<TD>	
                     <xsl:value-of select="nome"/>	
		</TD>
                <TD>	
                     <xsl:value-of select="portugues"/>
		</TD>
  		<TD>	
                     <xsl:value-of select="matematica"/>	
		</TD>
 		<TD>	
                     <xsl:value-of select="ciencias"/>	
		</TD>
		</TR>
             </xsl:for-each>	
           </TABLE>
      
</BODY>
</HTML> | 
| O arquivo Boletim.xsl | 
Os arquivos boletim.xml e boletim.xsl devem ser salvos na pasta do diretório padrão do seu servidor Web. Como estamos usando o PWS vamos salvar os arquivos no diretório x:\inetpub\wwwroot. Para exibir o arquivo boletim.xml na foramatação desejada abra o Internet Explorer e digitar http://localhost/boletim.xml ( Pode digitar também http://127.0.0.1/boletim.xml ou o nome do seu servidor). O resultado , para o nosso caso , é exibido a seguir:

Agora vamos explicar como as coisas funcionam. A seguir o código do arquivo boletim.xsl comentado:
1- <?xml version="1.0" ?>
A primeira tag indica que o arquivo XSL utiliza o padrão XML para representar os dados
2- <HTML xmlns:xsl="http://www.w3.org/TR/WD-xsl">
Esta é a declaração XSL do documento sendo obrigatória.
3- A seguir temos código HTML que irá criar uma tabela. O cabeçalho é definido assim:
<tr>
<td>nome</td>
<td>portugues</td>
<td>matematica</td>
<td>ciencias</td>
</tr>
4- <xsl:for-each select="boletim/aluno">
Esta tag é muito importante pois ele irá selecionar o conteúdo que esta em <Boletim><aluno> do arquivo boletim.xml
5- Dentro de cada célula HTML ( <td> </td> ) inserimos a tag que irá selecionar as informações representadas no arqruivo boletim.xml : Assim temos :
<TD> 
<xsl:value-of select="nome"/> 
</TD>
<TD> 
<xsl:value-of select="portugues"/>
</TD>
<TD> 
<xsl:value-of select="matematica"/> 
</TD>
<TD> 
<xsl:value-of select="ciencias"/> 
</TD>
Note que temos um loop equivalente ao comando for/next entre:
<xsl:for-each select="inicio">
<xsl:value-of select="nome do campo"/>
</xsl:for-each>
a XSL percorre todos os dados do arquivo XML entre as tags realizando a formatação e exibindo os dados na tabela HTML.
Lembre-se que o arquivo boletim.xml possui uma referência ao arquivo boletim.xsl usado nesta formatação.
Acabei . Retornaremos a este
assunto em breve ... 
José Carlos Macoratti