domingo, 15 de agosto de 2010

Aprendendo XSL Passo a Passo - Aula 01


Olá pessoal hoje vamos começar a aprender sobre essa linguagem chamada XSL ou XSLT, que em inglês significa EXtensible Stylesheet Language. ou seja linguagem de estilo para xml.

XSL consistem de três partes
  1. XSLT - linguagem para transformar documentos XML.
  2. XPath - linguagem para navegar em documentos XML.
  3. xsl-for - linguagem de formatação para XML.
XSLT é uma linguagem para transformar documentos XML em documentos XHTML ou XML em outros documentos.



XPath é uma linguagem para navegar em documentos XML.

O que você já deveria saber antes de continuar

Antes de continuar, você deve ter um conhecimento básico dos seguintes procedimentos:
  • HTML / XHTML
  • XML / Namespaces XML
  • XPath
Se você deseja estudar estes assuntos primeiro, faça uma busca em nosso blog.

O que é o XSLT?

  • XSLT significa XSL Transformations
  • XSLT é a parte mais importante de XSL
  • XSLT transforma um documento XML em outro documento XML
  • XSLT usa XPath para navegar em documentos XML
  • XSLT é uma recomendação da W3C

XSLT XSL Transformations

XSLT é a parte mais importante do XSL.
XSLT é usado para transformar um documento XML em outro documento XML, ou outro tipo de documento que é reconhecido por um browser, como HTML e XHTML. Normalmente XSLT faz isso transformando cada elemento XML em um elemento XHTML.
Com XSLT você pode adicionar/remover elementos e atributos partir do arquivo de saída. Você também pode reorganizar e classificar os elementos, realizar testes e tomar decisões sobre quais elementos esconder ou mostrar, e muito mais.
Uma forma comum de descrever o processo de transformação é dizer que o XSLT transforma uma árvore de origem XML em uma árvore, resultado XML.

XSLT usa XPath

XSLT usa XPath para localizar informações em um documento XML. XPath é usado para navegar através de elementos e atributos em documentos XML.
Se você quiser estudar XPath em primeiro lugar, leia o nosso Tutorial XPath.

Como isso funciona?

No processo de transformação, XSLT usa XPath para definir partes do documento de origem que deve corresponder a um ou mais modelos predefinidos. Quando uma correspondência for encontrada, XSLT transformará a parte correspondente do documento de origem no documento de resultado.

XSLT é uma recomendação da W3C

XSLT tornou-se uma recomendação W3C em 16. Novembro de 1999.
Para ler mais sobre as atividades do W3C XSLT.

Exemplo:

Livro.xml

<?xml version="1.0"?>
<!DOCTYPE livros SYSTEM "Livros.dtd">
<?xml-stylesheet href="Livros.xsl" type="text/xsl"?>

<livros>
<livro>
  <titulo>Java 6.0</titulo>
    <autor>Ricardo Assuncao</autor>
    <genero>Tecnico</genero>
    <preco>75,50</preco>
</livro>
<livro>
 <titulo>VB.Net</titulo>
    <autor>Jose Silveira</autor>
    <genero>Tecnico</genero>
   <preco>68,25</preco>
</livro>
<livro>
  <titulo>A Carochinha</titulo>
    <autor>Maria de Paula</autor>
    <genero>Infantil</genero>
    <preco>15,00</preco>
</livro>
<livro>
  <titulo>A Lua e o Sol</titulo>
    <autor>Manoela Ribeiro</autor>
    <genero>Romance</genero>
    <preco>38,70</preco>
</livro>
<livro>
  <titulo>O Futuro da Terra</titulo>
    <autor>Gigi de Lourdes</autor>
    <genero>Ficcao</genero>
   <preco>48,99</preco>
</livro>
</livros>


Livro.dtd


<!ELEMENT livros (livro)+>  
  <!ELEMENT livro (titulo, autor, genero, preco)>
    <!ELEMENT titulo (#PCDATA)>
    <!ELEMENT autor (#PCDATA)>
    <!ELEMENT genero (#PCDATA)>
    <!ELEMENT preco (#PCDATA)>



Livros.xsl

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
    <html>
    <body>
       <center>
       <h1> Lista de Livros </h1>
       <table width="640" border="2">
          <tr>
            <th colspan="4" align="center">Livros</th>
          </tr>
          <tr>
            <B>
            <th>Titulo</th>
            <th>Autor</th>
            <th>Genero</th>
            <th>Preco</th>
            </B>
          </tr>
 <xsl:apply-templates/>
        </table>
        </center>
      </body>
    </html>
  </xsl:template>
  <xsl:template match="livro">
    <tr>
      <td><xsl:value-of select="titulo"/></td>
      <td><xsl:value-of select="autor"/></td>
      <td><center><xsl:value-of select="genero"/></center></td>
      <td><center><xsl:value-of select="preco"/></center></td>
    </tr>
  </xsl:template>

</xsl:stylesheet>

Resultado:



Até a próxima aula!

Gostou?

Deixe seu comentário, compartilhe o artigo!




Nenhum comentário:

Contribua com este blog, doe qualquer quantia.