O documento apresenta o conceito de folhas de estilo XSL e como elas podem ser usadas para formatar dados XML de forma dinâmica. Ele explica que XSL é usado para aplicar estilos a documentos XML e transformá-los em outros formatos como HTML. Também fornece exemplos de como usar elementos XSLT como xsl:value-of, xsl:for-each e xsl:if para extrair e apresentar dados de um arquivo XML.
2. Sumário
Objetivos
O que são folhas de estilo
O que é XSL
Apresentando os dados de um XML
Dúvidas
3. Objetivos
Apresentar aos alunos o conceito de folhas
de estilo e formatação dinâmica de dados.
Demonstrar as possibilidades formatação
com a utilização HTML e métodos em XSLT.
4. O que é XSL
eXtensible Stylesheet Language:
Foi criada para permitir a aplicação de folhas de
estilos a documentos XML. Ela portanto, ao contrário
do XML, não carrega informações sobre os dados,
mas sim, sobre sua apresentação.
eXtensible Stylesheet Language Transformer:
É a linguagem de programação utilizada para
transformar um documento XML em outro tipo de
documento baseado em uma linguagem de
programação para web (XHTML ou HTML5 por
exemplo).
6. Exemplo de arquivo XSL
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h1>Abastecimentos</h1>
<table border="1">
<tr bgcolor="red">
<th align="left">Dia</th>
<th align="left">Mês</th>
<th align="left">Ano</th>
</tr>
<xsl:for-each select="abastecimentos/abastecimento">
<tr>
<td><xsl:value-of select="dia"/></td>
<td><xsl:value-of select="mes"/></td>
<td><xsl:value-of select="ano"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Cabeçalho padrão do
Arquivo xsl
O template (modelo) será
Aplicado a todo arquivo
Toda TAG aberta deve
ser fechada
Código mesclado
com HTML
7. Elementos da XSLT
<xsl:template match=”XPath”>
Define o caminho para o qual o modelo será
aplicado, a variável XPath deve ser substituída por
este valor. Caso o modelo seja aplicado ao elemento
raiz e todos os seus filhos, utiliza-se o símbolo “/”.
Lembrando que a TAG xsl:template deve ser fechada
no final do arquivo.
<xsl:value-of select=”XPath”>
Indica um elemento (nó) do arquivo XML que deverá
ser extraído e apresentado.
Dentro desta TAG é definida a forma de
apresentação destes dados, por exemplo utilizando
uma lista ou tabela.
8. Elementos da XSLT
xsl:for-each select=”XPath”
É utilizado para criar loops de repetição, como o
PARA no portugol (VisualG).
Irá extrair todos os valores dos elementos
xsl:value-of (do inglês valor de).
Além disso o operador for-each aceita os
seguintes operadores lógicos:
Operador Significado
= Igual a
!= Diferente de
< Menor que
> Maior que
9. Elementos da XSLT
Exemplos:
Igual: extrai somente os elementos que possuem
exatamente um valor pré-definido.
Não igual: extrai somente os elementos que não
possuem um valor pré-definido.
Menor que: extrai somente os elementos que
possuem um valor menor que determinada condição.
Maior que: extrai somente os elementos que
possuem um valor maior que determinada condição.
10. Elementos da XSLT
Exemplos:
Igual: selecionar somente os alunos que
possuem o atributo nome igual a “César”.
Não igual: selecionar somente os alunos que
possuem o atributo nome diferente de “ “ (vazio).
Menor que: selecionar somente os alunos com o
atributo idade menor que 18.
Maior que: selecionar somente os alunos com o
atributo idade maior que 16.
11. Elementos da XSLT
<xsl:sort select=”XPath”>
Deve ser colocado dentro de um elemento for-each.
Determina a ordenação com que os elementos
devem ser apresentados.
Exemplo:
<xsl:for-each select=“abastecimentos/abastecimento">
<xsl:sort select=”ano”>
<tr>
<td><xsl:value-of select="dia"/></td>
<td><xsl:value-of select=“mes"/></td>
<td><xsl:value-of select=“ano"/></td>
</tr>
</xsl:for-each>
12. Elementos da XSLT
<xsl:IF test=”expressão de teste”>
Deve ser colocado dentro de um elemento for-each.
Realiza testes condicionais, equiavele ao SE e ENTÃO.
Exemplo:
<xsl:for-each select=“abastecimentos/abastecimento">
<xsl:if test=”ano > 2000”>
<tr>
<td><xsl:value-of select="dia"/></td>
<td><xsl:value-of select=“mes"/></td>
<td><xsl:value-of select=“ano"/></td>
</tr>
</xsl:if>
</xsl:for-each>
13. Elementos da XSLT
<xsl:choose>, <xsl:when>, <xsl:otherwise>
São utilizados para realizar diversos testes
condicionais, equivale ao ESCOLHA e CASO.
Exemplo:
<xsl:choose>
<xsl:when test="expression">
... algum código ...
</xsl:when>
<xsl:otherwise>
... algum código ....
</xsl:otherwise>
</xsl:choose>