SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
César Augusto Pessôa
Sumário
 Objetivos
 O que são folhas de estilo
 O que é XSL
 Apresentando os dados de um XML
 Dúvidas
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.
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).
Considere o arquivo XML abaixo
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="combustivel.xsl"?>
<abastecimentos>
<abastecimento id="1">
<dia>22</dia>
<mes>05</mes>
<ano>2007</ano>
</abastecimento>
<abastecimento id="2">
<dia>10</dia>
<mes>06</mes>
<ano>2008</ano>
</abastecimento>
<abastecimento id="3">
<dia>10</dia>
<mes>06</mes>
<ano>2008</ano>
</abastecimento>
</abastecimentos>
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
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.
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
&lt; Menor que
&gt; Maior que
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.
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.
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>
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 &gt; 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>
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>
Dúvidas?
César Augusto Pessôa
capfg@hotmail.com

Más contenido relacionado

La actualidad más candente

La actualidad más candente (17)

XML Schema (2002)
XML Schema (2002)XML Schema (2002)
XML Schema (2002)
 
XML - eXtensible Markup Language
XML - eXtensible Markup LanguageXML - eXtensible Markup Language
XML - eXtensible Markup Language
 
Banco de Dados XML
Banco de Dados XMLBanco de Dados XML
Banco de Dados XML
 
Aula de DTD Definição do Tipo de Documento
Aula de DTD Definição do Tipo de DocumentoAula de DTD Definição do Tipo de Documento
Aula de DTD Definição do Tipo de Documento
 
Suporte XML nativo no SQL Server 2014/2016
Suporte XML nativo no SQL Server 2014/2016Suporte XML nativo no SQL Server 2014/2016
Suporte XML nativo no SQL Server 2014/2016
 
XML
XMLXML
XML
 
Aplicando Transformação em XML usando XSLT e XSL-FO - 1
Aplicando Transformação em XML usando XSLT e XSL-FO - 1Aplicando Transformação em XML usando XSLT e XSL-FO - 1
Aplicando Transformação em XML usando XSLT e XSL-FO - 1
 
A e xtensible markup language (xml)
A e xtensible markup language (xml)A e xtensible markup language (xml)
A e xtensible markup language (xml)
 
Tp 4 xml
Tp 4   xmlTp 4   xml
Tp 4 xml
 
Oficina WEB Design Lecom - PHP e MySQL
Oficina WEB Design Lecom - PHP e MySQLOficina WEB Design Lecom - PHP e MySQL
Oficina WEB Design Lecom - PHP e MySQL
 
Xml
XmlXml
Xml
 
Curso XML - IBM Academic Initiative
Curso XML - IBM Academic InitiativeCurso XML - IBM Academic Initiative
Curso XML - IBM Academic Initiative
 
Intro xml file
Intro xml fileIntro xml file
Intro xml file
 
Xml
XmlXml
Xml
 
Linguagem SQL
Linguagem SQLLinguagem SQL
Linguagem SQL
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Java e XML
Java e XMLJava e XML
Java e XML
 

Similar a Formatação de dados XML com XSLT

Aplicando Transformação em XML usando XSLT e XSL-FO - 2
Aplicando Transformação em XML usando XSLT e XSL-FO - 2Aplicando Transformação em XML usando XSLT e XSL-FO - 2
Aplicando Transformação em XML usando XSLT e XSL-FO - 2Vivian Motti
 
Aplicando Transformação em XML usando XSLT e XSL-FO - 3
Aplicando Transformação em XML usando XSLT e XSL-FO - 3Aplicando Transformação em XML usando XSLT e XSL-FO - 3
Aplicando Transformação em XML usando XSLT e XSL-FO - 3Vivian Motti
 
Arquitetura: XML + RDF ate WebSemantica
Arquitetura: XML + RDF ate WebSemanticaArquitetura: XML + RDF ate WebSemantica
Arquitetura: XML + RDF ate WebSemanticaSergio Crespo
 
Oracle XML DB - Conceitos iniciais
Oracle XML DB - Conceitos iniciaisOracle XML DB - Conceitos iniciais
Oracle XML DB - Conceitos iniciaisDiego Lusa
 
Posxml especification 2.0
Posxml especification 2.0Posxml especification 2.0
Posxml especification 2.0DenirJunior
 
Módulo: 4 – Desenvolvimento de Páginas Web Estáticas: CSS
Módulo: 4 – Desenvolvimento de Páginas Web Estáticas: CSSMódulo: 4 – Desenvolvimento de Páginas Web Estáticas: CSS
Módulo: 4 – Desenvolvimento de Páginas Web Estáticas: CSSAgrupamento de Escolas da Batalha
 
Paradigma Funcional - Caso de Estudo Haskell
Paradigma Funcional - Caso de Estudo HaskellParadigma Funcional - Caso de Estudo Haskell
Paradigma Funcional - Caso de Estudo HaskellSérgio Souza Costa
 

Similar a Formatação de dados XML com XSLT (20)

XML - Parte 3
XML - Parte 3XML - Parte 3
XML - Parte 3
 
XSL, XSL-FO e XSLT + XPath
XSL, XSL-FO e XSLT + XPathXSL, XSL-FO e XSLT + XPath
XSL, XSL-FO e XSLT + XPath
 
Aplicando Transformação em XML usando XSLT e XSL-FO - 2
Aplicando Transformação em XML usando XSLT e XSL-FO - 2Aplicando Transformação em XML usando XSLT e XSL-FO - 2
Aplicando Transformação em XML usando XSLT e XSL-FO - 2
 
Aplicando Transformação em XML usando XSLT e XSL-FO - 3
Aplicando Transformação em XML usando XSLT e XSL-FO - 3Aplicando Transformação em XML usando XSLT e XSL-FO - 3
Aplicando Transformação em XML usando XSLT e XSL-FO - 3
 
Aula Xml Schema - XSD
Aula Xml Schema - XSDAula Xml Schema - XSD
Aula Xml Schema - XSD
 
Folhas de Estilo XSL
Folhas de Estilo XSLFolhas de Estilo XSL
Folhas de Estilo XSL
 
Xml pucminas2013
Xml pucminas2013Xml pucminas2013
Xml pucminas2013
 
Arquitetura: XML + RDF ate WebSemantica
Arquitetura: XML + RDF ate WebSemanticaArquitetura: XML + RDF ate WebSemantica
Arquitetura: XML + RDF ate WebSemantica
 
Oracle XML DB - Conceitos iniciais
Oracle XML DB - Conceitos iniciaisOracle XML DB - Conceitos iniciais
Oracle XML DB - Conceitos iniciais
 
Oracle XML DB
Oracle XML DBOracle XML DB
Oracle XML DB
 
XSLT: Conceitos iniciais
XSLT: Conceitos iniciaisXSLT: Conceitos iniciais
XSLT: Conceitos iniciais
 
Tecnologias XML e XML no SQL Server 2016
Tecnologias XML eXML no SQL Server 2016Tecnologias XML eXML no SQL Server 2016
Tecnologias XML e XML no SQL Server 2016
 
Curso de XHTML
Curso de XHTMLCurso de XHTML
Curso de XHTML
 
JustJava 2004: JAXB
JustJava 2004: JAXBJustJava 2004: JAXB
JustJava 2004: JAXB
 
Parte5 xml
Parte5 xmlParte5 xml
Parte5 xml
 
XML - Parte 1
XML - Parte 1XML - Parte 1
XML - Parte 1
 
Posxml especification 2.0
Posxml especification 2.0Posxml especification 2.0
Posxml especification 2.0
 
Módulo: 4 – Desenvolvimento de Páginas Web Estáticas: CSS
Módulo: 4 – Desenvolvimento de Páginas Web Estáticas: CSSMódulo: 4 – Desenvolvimento de Páginas Web Estáticas: CSS
Módulo: 4 – Desenvolvimento de Páginas Web Estáticas: CSS
 
Paradigma Funcional - Caso de Estudo Haskell
Paradigma Funcional - Caso de Estudo HaskellParadigma Funcional - Caso de Estudo Haskell
Paradigma Funcional - Caso de Estudo Haskell
 
Php Básico - Parte 2
Php Básico - Parte 2Php Básico - Parte 2
Php Básico - Parte 2
 

Más de César Augusto Pessôa

Apresentação completa do PITCH do NASA SpaceApps 2019
Apresentação completa do PITCH do NASA SpaceApps 2019Apresentação completa do PITCH do NASA SpaceApps 2019
Apresentação completa do PITCH do NASA SpaceApps 2019César Augusto Pessôa
 
Deck de ferramentas para Startups, como começar bem!
Deck de ferramentas para Startups, como começar bem!Deck de ferramentas para Startups, como começar bem!
Deck de ferramentas para Startups, como começar bem!César Augusto Pessôa
 
A importância do design nos negócios
A importância do design nos negóciosA importância do design nos negócios
A importância do design nos negóciosCésar Augusto Pessôa
 
Personas - a dinâmica de vestir os sapatos do cliente
Personas - a dinâmica de vestir os sapatos do clientePersonas - a dinâmica de vestir os sapatos do cliente
Personas - a dinâmica de vestir os sapatos do clienteCésar Augusto Pessôa
 
O ecossistema de Startups na região de Araçatuba
O ecossistema de Startups na região de AraçatubaO ecossistema de Startups na região de Araçatuba
O ecossistema de Startups na região de AraçatubaCésar Augusto Pessôa
 
User eXperience - como o seu cliente se relaciona com o seu produto
User eXperience - como o seu cliente se relaciona com o seu produtoUser eXperience - como o seu cliente se relaciona com o seu produto
User eXperience - como o seu cliente se relaciona com o seu produtoCésar Augusto Pessôa
 
Aula 4 - Manipulando e Resgatando Dados 2
Aula 4 - Manipulando e Resgatando Dados 2Aula 4 - Manipulando e Resgatando Dados 2
Aula 4 - Manipulando e Resgatando Dados 2César Augusto Pessôa
 
Aula 3 - Manipulando e Resgatando Dados
Aula 3 - Manipulando e Resgatando DadosAula 3 - Manipulando e Resgatando Dados
Aula 3 - Manipulando e Resgatando DadosCésar Augusto Pessôa
 

Más de César Augusto Pessôa (20)

Home office seguro
Home office seguroHome office seguro
Home office seguro
 
Apresentação completa do PITCH do NASA SpaceApps 2019
Apresentação completa do PITCH do NASA SpaceApps 2019Apresentação completa do PITCH do NASA SpaceApps 2019
Apresentação completa do PITCH do NASA SpaceApps 2019
 
14 Princípios de Deming
14 Princípios de Deming14 Princípios de Deming
14 Princípios de Deming
 
Deck de ferramentas para Startups, como começar bem!
Deck de ferramentas para Startups, como começar bem!Deck de ferramentas para Startups, como começar bem!
Deck de ferramentas para Startups, como começar bem!
 
MVP - O que é e como criar o seu
MVP - O que é e como criar o seuMVP - O que é e como criar o seu
MVP - O que é e como criar o seu
 
A importância do design nos negócios
A importância do design nos negóciosA importância do design nos negócios
A importância do design nos negócios
 
Personas - a dinâmica de vestir os sapatos do cliente
Personas - a dinâmica de vestir os sapatos do clientePersonas - a dinâmica de vestir os sapatos do cliente
Personas - a dinâmica de vestir os sapatos do cliente
 
A rotina de um Scrum Master
A rotina de um Scrum MasterA rotina de um Scrum Master
A rotina de um Scrum Master
 
A vida de um Scrum Product Owner
A vida de um Scrum Product OwnerA vida de um Scrum Product Owner
A vida de um Scrum Product Owner
 
O ecossistema de Startups na região de Araçatuba
O ecossistema de Startups na região de AraçatubaO ecossistema de Startups na região de Araçatuba
O ecossistema de Startups na região de Araçatuba
 
Excelência e Qualidade - Parte 04
Excelência e Qualidade - Parte 04Excelência e Qualidade - Parte 04
Excelência e Qualidade - Parte 04
 
Excelência e Qualidade - Parte 03
Excelência e Qualidade - Parte 03Excelência e Qualidade - Parte 03
Excelência e Qualidade - Parte 03
 
Excelência e Qualidade - Parte 02
Excelência e Qualidade - Parte 02Excelência e Qualidade - Parte 02
Excelência e Qualidade - Parte 02
 
Excelência e qualidade - Parte 01
Excelência e qualidade - Parte 01Excelência e qualidade - Parte 01
Excelência e qualidade - Parte 01
 
User eXperience - como o seu cliente se relaciona com o seu produto
User eXperience - como o seu cliente se relaciona com o seu produtoUser eXperience - como o seu cliente se relaciona com o seu produto
User eXperience - como o seu cliente se relaciona com o seu produto
 
Seja ágil com o Scrum - parte 02
Seja ágil com o Scrum - parte 02Seja ágil com o Scrum - parte 02
Seja ágil com o Scrum - parte 02
 
Seja ágil com o Scrum - parte 01
Seja ágil com o Scrum - parte 01Seja ágil com o Scrum - parte 01
Seja ágil com o Scrum - parte 01
 
Principais Comandos Linux (UBUNTU) 2
Principais Comandos Linux (UBUNTU) 2Principais Comandos Linux (UBUNTU) 2
Principais Comandos Linux (UBUNTU) 2
 
Aula 4 - Manipulando e Resgatando Dados 2
Aula 4 - Manipulando e Resgatando Dados 2Aula 4 - Manipulando e Resgatando Dados 2
Aula 4 - Manipulando e Resgatando Dados 2
 
Aula 3 - Manipulando e Resgatando Dados
Aula 3 - Manipulando e Resgatando DadosAula 3 - Manipulando e Resgatando Dados
Aula 3 - Manipulando e Resgatando Dados
 

Formatação de dados XML com XSLT

  • 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).
  • 5. Considere o arquivo XML abaixo <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="combustivel.xsl"?> <abastecimentos> <abastecimento id="1"> <dia>22</dia> <mes>05</mes> <ano>2007</ano> </abastecimento> <abastecimento id="2"> <dia>10</dia> <mes>06</mes> <ano>2008</ano> </abastecimento> <abastecimento id="3"> <dia>10</dia> <mes>06</mes> <ano>2008</ano> </abastecimento> </abastecimentos>
  • 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 &lt; Menor que &gt; 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 &gt; 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>