Aplicando Transformações
em XML usando XSLT e
XSL-FO
Ms Vivian Genaro Motti
Profª Drª Maria da Graça Pimentel
Prof Dr Rudi...
Objetivo do Curso
 Apresentar
 XML com exemplos
 Transformações
• XPATH
• XSLT
• XSL-FO
 Aplicações
 Considerações so...
 Parte I: XML, conceitos e
definições
 Parte II: XSD, XSL, X-PATH
 Parte III: CSS, XSL-T, XSL-FO
 Parte IV: XSL-FO (Fo...
XML: Sumário
 Origem
 Definição
 Aplicação
 Vantagens x Limitações
 Conceitos Fundamentais
 Terminologia
 Sintaxe
...
Origem
 SGML
 Standard Generalized Markup Language
 Linguagem Padronizada de Marcação
Genérica
 Permite descrever dive...
Definição
 XML: Extensible Markup Language
 Linguagem de Marcação padrão
 Descreve
 Armazena
 Transporta
 Manipula
•...
Objetivos
 Manter a flexibilidade da SGML
 E a simplicidade do HTML
 Separação de conteúdo e apresentação
 Legibilidad...
Aplicação
 Criação de documentos estruturados
 Criação de linguagens
 Textos formatados
 Imagens vetoriais
 Banco de ...
Diferenças HTML x XML
 XML não substitui HTML
 XML
• Transporta dados
• XML armazena dados
• XML descreve dados
 HTML
•...
Exemplo de Documento
<?xml version="1.0" encoding="ISO-8859-1"?>
<recado>
  <para>João</para>
  <de>Maria</de>
  <assunto>...
Codificação
 Para evitar erros com documentos XML que
têm caracteres especiais é necessário
 Especificar a codificação a...
Codificação
 Recomendações
 Sempre coloque o atributo encoding
 Use um editor que suporte codificação
 Certifique-se q...
Estrutura Hierárquica
 Aninhamento em Árvore
 Todo documento deve ter raiz (pai
dos elementos restantes)
livro
título au...
Regras de Sintaxe
 Simples e Lógicas
 Todo elemento possui uma tag de
fechamento: <nome>Maria</nome>
• Exceto a declaraç...
Terminologia
 Referências a entidades
 Caracteres reservados como < devem
ser substituídos por um equivalente &lt;
aspas...
Terminologia
 Comentários
 <!– iguais em HTML -->
 Um documento XML é composto por
elementos
 Elementos podem conter
...
Elementos
 Simples
 Sem atributos
 Sem filhos
 Complexos
 Têm ao menos um atributo
 Ou um filho
Atributo
 Provê informação adicional sobre um
elemento
 Informações que não sejam parte do
dado
 Irrelevantes ao dado
...
Elementos x Atributos
 Atributos detalham informação
sobre o elemento
 <preço moeda="R$">30,00</preço>
 Todo valor de a...
Elementos x Atributos
 Atributos
• Não podem ter múltiplos valores
• Não possuem estrutura em árvore
• Não são facilmente...
Tags
 Regras de nomes
 Contêm letras, números e outros
caracteres
 Não começam com números nem
pontuação
 Não começam ...
Boas Práticas
 Nomes devem ser descritivos
 Curtos e simples
 Evitar hífens (sinal de subtração)
 Evitar ponto (propri...
Vantagens
 O próprio autor define as tags
 E a estrutura do documento (que é
extensível)
 Separação do conteúdo e da
ap...
Vantagens
 Buscas facilitadas
 Pela semântica no armazenamento dos
dados
 Múltiplas formas de apresentação
 Compressão...
Desvantagens
 Informações repetidas
 Linguagem verbosa
 Dependente
 Não tem suporte a tipos de dados
Limitações
 XML é informação pura em tags
auto-descritivas
 São necessários outros documentos
para
• Enviar
• Receber ou...
Namespaces
 Permitem que elementos e atributos
sejam únicos
 Para cada vocabulário é criado um
namespace
 Resolve a amb...
Namespaces
 Qualificam nomes de elementos e
atributos do XML
 São identificados por referências URI
 Nome expandido
 N...
Namespaces
<?xml version="1.0" encoding="UTF-16"?>
<livro>
  <nome>Introdução à XML</nome>
  <editora>O'Reilly</editora>
 ...
Namespaces
<?xml version="1.0" encoding="ISO-8859-1"?>
<livro xlmns:midia="http://www.modos.org">
  <nome>Introdução à XML...
Documentos Bem-Formados
 Iniciam com a declaração do XML
 Obedecem à sintaxe do XML
 Têm um único elemento raiz
 Todo ...
Editores XML
 Para criação, edição, validação,
documentação, visualização e debug
de documentos XML
 Xeena
 Oxygen
 XM...
Validação
 Além de bem-formado o documento
XML deve estar de acordo com
regras do DTD
 Document Type Definition
 Define...
Validação
 Um documento válido foi verificado
 Sua estrutura, seus elementos e seus
atributos estão consistentes com as
...
Documento XML
<?xml version="1.0" encoding="UTF-16"?>
<recado>
  <para>João</para>
  <de>Maria</de>
  <assunto>Aviso</assu...
DTD
<!DOCTYPE recado
[
<!ELEMENT recado (
para,de,assunto,mensagem)>
<!ELEMENT para(#PCDATA)>
<!ELEMENT de (#PCDATA)>
<!EL...
DTD
 !DOCTYPE define o elemento raiz
 recado
 !ELEMENT recado
 Define que o elemento recado é composto
por 4 elementos...
Declarações DTD
 Elementos vazios
 <!ELEMENT br EMPTY>
 Elementos compostos
 <!ELEMENT recado (para,de,assunto,mensage...
Declarações DTD
 Zero ou uma ocorrência
 <!ELEMENT recado (assunto?)>
 Alternativa
 <!ELEMENT recado(de,para,assunto,(...
Declaração de atributos
<!ATTLIST pagamento tipo CDATA "cheque">
 Tipos possíveis
 CDATA: caractere
 (1|2|3...): lista ...
Entidades
 São variáveis que definem
constantes, abreviações para textos
ou caracteres especiais
 No DTD
 <!ENTITY max ...
DTD
 Document Type Definition
 Define a estrutura de um documento
XML
 Verifica se a estrutura de um
documento XML está...
Associando o DTD
 Como referência externa
 No documento original
 Após a declaração do xml
 <!DOCTYPE recado SYSTEM "r...
DTD
 Permite 5 itens em um documento
XML
 Elementos
 Atributos
 Entidades
 PCDATA (parsed character data)
 CDATA (ch...
PCDATA x CDATA
 PCDATA
 As tags são tratadas como marcação
 As entidades são expandidas
 CDATA
 O texto não será anal...
DTD
 Valida o XML
 Limitado
 Todos os dados são interpretados como
texto
 Não tem suporte a namespaces
 Exigem sequên...
Schema
<xs:element name="recado">
<xs:complexType>
<xs:sequence>
<xs:element name="para" type="xs:string"/>
  <xs:element ...
XSD (XML Schema Definition)
 Esquemas
 Baseados em XML
 Definem regras de validação
 São uma alternativa ao DTD
 Defi...
XSD (XML Schema Definition)
 Declaração dos elementos
 Declaração dos atributos
 Tipos de dados
 44 possíveis
 Grupos...
Schemas
 Definem
 Elementos e atributos possíveis
 Relação entre elementos
 Ordem dos elementos filhos
 Quantidade de...
Schemas x DTD
 Schemas são extensíveis
 Fornecem mais opções
 São escritos em XML
 Têm suporte a
 Tipos de dados
 Na...
Considerações Finais
 XML permite
 Buscas mais precisas
 Apresentações diferentes de um mesmo
documento
 Transferência...
Referências
DTD: http://www.w3schools.com/DTD/dtd_examples.asp
XSD: http://www.w3.org/XML/Schema
XML: http://www.slideshar...
Upcoming SlideShare
Loading in...5
×

Aplicando Transformação em XML usando XSLT e XSL-FO - 1

511
-1

Published on

Minicurso em 4 módulos apresentado durante o ERBASE em 2009.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
511
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
22
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Aplicando Transformação em XML usando XSLT e XSL-FO - 1

  1. 1. Aplicando Transformações em XML usando XSLT e XSL-FO Ms Vivian Genaro Motti Profª Drª Maria da Graça Pimentel Prof Dr Rudinei Goularte Ilhéus, maio de 2009. ERBASE
  2. 2. Objetivo do Curso  Apresentar  XML com exemplos  Transformações • XPATH • XSLT • XSL-FO  Aplicações  Considerações sobre a linguagem
  3. 3.  Parte I: XML, conceitos e definições  Parte II: XSD, XSL, X-PATH  Parte III: CSS, XSL-T, XSL-FO  Parte IV: XSL-FO (Formatting Objects)
  4. 4. XML: Sumário  Origem  Definição  Aplicação  Vantagens x Limitações  Conceitos Fundamentais  Terminologia  Sintaxe  Estrutura Hierárquica
  5. 5. Origem  SGML  Standard Generalized Markup Language  Linguagem Padronizada de Marcação Genérica  Permite descrever diversos tipos de dados  Facilita o compartilhamento de informações via Internet  Poderosa mas complexa
  6. 6. Definição  XML: Extensible Markup Language  Linguagem de Marcação padrão  Descreve  Armazena  Transporta  Manipula • Dados estruturados  Recomendação da W3C • Em 10 de fevereiro de 1998
  7. 7. Objetivos  Manter a flexibilidade da SGML  E a simplicidade do HTML  Separação de conteúdo e apresentação  Legibilidade  Criação de tags  Estruturação semântica de informação  Portabilidade
  8. 8. Aplicação  Criação de documentos estruturados  Criação de linguagens  Textos formatados  Imagens vetoriais  Banco de Dados  Fórmulas Químicas  Equações Matemáticas
  9. 9. Diferenças HTML x XML  XML não substitui HTML  XML • Transporta dados • XML armazena dados • XML descreve dados  HTML • Formata e apresenta dados  São complementares
  10. 10. Exemplo de Documento <?xml version="1.0" encoding="ISO-8859-1"?> <recado>   <para>João</para>   <de>Maria</de>   <assunto>Aviso</assunto>   <mensagem>Sua mãe ligou.</mensagem> </recado> Elementos: declaração e tipo de codificação do XML, raiz e filhos
  11. 11. Codificação  Para evitar erros com documentos XML que têm caracteres especiais é necessário  Especificar a codificação adequada  Ou salvar o arquivo como unicode (double bit unicode ou UTF-16)  Tipos de Codificação  Windows-1252  ISO-88-59-1  UTF-8  Não recomendadas para caracteres não ASCII
  12. 12. Codificação  Recomendações  Sempre coloque o atributo encoding  Use um editor que suporte codificação  Certifique-se qual a codificação usada pelo editor  Utilize a mesma codificação do editor no atributo do arquivo
  13. 13. Estrutura Hierárquica  Aninhamento em Árvore  Todo documento deve ter raiz (pai dos elementos restantes) livro título autor assunto nó pai filhos irmãos preço moeda atributo
  14. 14. Regras de Sintaxe  Simples e Lógicas  Todo elemento possui uma tag de fechamento: <nome>Maria</nome> • Exceto a declaração do XML  As tags são sensíveis à capitalização  O aninhamento deve estar correto  Todo documento tem nó raiz  Valores de atributos devem estar entre aspas
  15. 15. Terminologia  Referências a entidades  Caracteres reservados como < devem ser substituídos por um equivalente &lt; aspas duplas"&quot; apóstrofe'&apos; e comercial&&amp; maior>&gt; menor<&lt;
  16. 16. Terminologia  Comentários  <!– iguais em HTML -->  Um documento XML é composto por elementos  Elementos podem conter  Texto (conteúdo)  Outros elementos  Ambos  Atributos
  17. 17. Elementos  Simples  Sem atributos  Sem filhos  Complexos  Têm ao menos um atributo  Ou um filho
  18. 18. Atributo  Provê informação adicional sobre um elemento  Informações que não sejam parte do dado  Irrelevantes ao dado  Mas importantes para manipular o elemento <arquivo formato="gif">logo.gif</arquivo>
  19. 19. Elementos x Atributos  Atributos detalham informação sobre o elemento  <preço moeda="R$">30,00</preço>  Todo valor de atributo deve estar entre aspas  Simples ou duplas  Não existem regras de uso, mas recomendações
  20. 20. Elementos x Atributos  Atributos • Não podem ter múltiplos valores • Não possuem estrutura em árvore • Não são facilmente expandidos • São mais difíceis para ler  Portanto  Use elementos para dados  E atributos para informações menos relevantes  Exemplo: <recado id="01">...</recado>
  21. 21. Tags  Regras de nomes  Contêm letras, números e outros caracteres  Não começam com números nem pontuação  Não começam com XML (nem Xml, xml...)  Não contêm espaços  Não há palavras reservadas
  22. 22. Boas Práticas  Nomes devem ser descritivos  Curtos e simples  Evitar hífens (sinal de subtração)  Evitar ponto (propriedades de objeto)  Evitar dois pontos (reservados para namespaces)  Acentos podem ser usados, mas nem todos os softwares têm suporte a eles
  23. 23. Vantagens  O próprio autor define as tags  E a estrutura do documento (que é extensível)  Separação do conteúdo e da apresentação  Dados armazenados em formato texto  Independente de hardware e software  Permite transporte e compartilhamento
  24. 24. Vantagens  Buscas facilitadas  Pela semântica no armazenamento dos dados  Múltiplas formas de apresentação  Compressão  Devido à natureza repetitiva das tags
  25. 25. Desvantagens  Informações repetidas  Linguagem verbosa  Dependente  Não tem suporte a tipos de dados
  26. 26. Limitações  XML é informação pura em tags auto-descritivas  São necessários outros documentos para • Enviar • Receber ou • Apresentar a informação
  27. 27. Namespaces  Permitem que elementos e atributos sejam únicos  Para cada vocabulário é criado um namespace  Resolve a ambiguidade entre elementos e atributos com mesmo nome mas semântica diferentes
  28. 28. Namespaces  Qualificam nomes de elementos e atributos do XML  São identificados por referências URI  Nome expandido  Nome do namespace + nome local  Um nome qualificado está sujeito à interpretação por namespace  Pré-fixado ou não-pré-fixado
  29. 29. Namespaces <?xml version="1.0" encoding="UTF-16"?> <livro>   <nome>Introdução à XML</nome>   <editora>O'Reilly</editora>   <tipo>Técnico</tipo>   <tipo>Impresso</tipo> </livro>
  30. 30. Namespaces <?xml version="1.0" encoding="ISO-8859-1"?> <livro xlmns:midia="http://www.modos.org">   <nome>Introdução à XML</nome>   <editora>O'Reilly</editora>   <tipo>Técnico</tipo>   <midia:tipo>Impresso</tipo> </livro>
  31. 31. Documentos Bem-Formados  Iniciam com a declaração do XML  Obedecem à sintaxe do XML  Têm um único elemento raiz  Todo elemento tem tag de fechamento  Tags são sensíveis à capitalização  Elementos são aninhados corretamente  Valores de atributos entre aspas (' ou ")  Usam entidades para caracteres especiais
  32. 32. Editores XML  Para criação, edição, validação, documentação, visualização e debug de documentos XML  Xeena  Oxygen  XMLSpy  Versão gratuita para teste
  33. 33. Validação  Além de bem-formado o documento XML deve estar de acordo com regras do DTD  Document Type Definition  Define a estrutura e os elementos do documento XML  Ao invés do DTD, pode-se usar um Schema
  34. 34. Validação  Um documento válido foi verificado  Sua estrutura, seus elementos e seus atributos estão consistentes com as declarações  Declaração de Tipo de Documento  DTD  Schema
  35. 35. Documento XML <?xml version="1.0" encoding="UTF-16"?> <recado>   <para>João</para>   <de>Maria</de>   <assunto>Aviso</assunto>   <mensagem>Sua mãe ligou.</mensagem> </recado>
  36. 36. DTD <!DOCTYPE recado [ <!ELEMENT recado ( para,de,assunto,mensagem)> <!ELEMENT para(#PCDATA)> <!ELEMENT de (#PCDATA)> <!ELEMENT assunto (#PCDATA)> <!ELEMENT mensagem (#PCDATA)> ]>
  37. 37. DTD  !DOCTYPE define o elemento raiz  recado  !ELEMENT recado  Define que o elemento recado é composto por 4 elementos nesta ordem  !ELEMENT de (#PCDATA)  Define que o elemento de é do tipo caractere
  38. 38. Declarações DTD  Elementos vazios  <!ELEMENT br EMPTY>  Elementos compostos  <!ELEMENT recado (para,de,assunto,mensagem)>  No mínimo 1 ocorrência  <!ELEMENT recado (para+)>  Zero ou mais ocorrências  <!ELEMENT recado (assunto*)>
  39. 39. Declarações DTD  Zero ou uma ocorrência  <!ELEMENT recado (assunto?)>  Alternativa  <!ELEMENT recado(de,para,assunto,(msg|img))>  Conteúdo misto  <!ELEMENT recado(#PCDATA|de|para|assunto)*>
  40. 40. Declaração de atributos <!ATTLIST pagamento tipo CDATA "cheque">  Tipos possíveis  CDATA: caractere  (1|2|3...): lista enumerada  ID: identificador único  Valor Padrão  #REQUIRED: não pode ser vazio  #IMPLIED: pode ser vazio  #FIXED valor: define uma constante
  41. 41. Entidades  São variáveis que definem constantes, abreviações para textos ou caracteres especiais  No DTD  <!ENTITY max "100">  <!ENTITY min "5">  No XML  <de>&min;</de>  <ate>&max;</ate>
  42. 42. DTD  Document Type Definition  Define a estrutura de um documento XML  Verifica se a estrutura de um documento XML está válida  Pode ser declarado dentro ou como uma referência externa em um documento XML
  43. 43. Associando o DTD  Como referência externa  No documento original  Após a declaração do xml  <!DOCTYPE recado SYSTEM "recado.dtd">  Interno ao documento XML original  Após declaração do XML  Antes do conteúdo XML
  44. 44. DTD  Permite 5 itens em um documento XML  Elementos  Atributos  Entidades  PCDATA (parsed character data)  CDATA (character data)
  45. 45. PCDATA x CDATA  PCDATA  As tags são tratadas como marcação  As entidades são expandidas  CDATA  O texto não será analisado pelo parser do XML
  46. 46. DTD  Valida o XML  Limitado  Todos os dados são interpretados como texto  Não tem suporte a namespaces  Exigem sequência fixa dos elementos
  47. 47. Schema <xs:element name="recado"> <xs:complexType> <xs:sequence> <xs:element name="para" type="xs:string"/>   <xs:element name="de" type="xs:string"/>   <xs:element name="assunto" type="xs:string"/>   <xs:element name="mensagem" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>
  48. 48. XSD (XML Schema Definition)  Esquemas  Baseados em XML  Definem regras de validação  São uma alternativa ao DTD  Definem a estrutura de um documento XML  Recomendação da W3C desde 2001  Permitem construir tipos de dados próprios  E relacionamentos entre elementos
  49. 49. XSD (XML Schema Definition)  Declaração dos elementos  Declaração dos atributos  Tipos de dados  44 possíveis  Grupos de modelos
  50. 50. Schemas  Definem  Elementos e atributos possíveis  Relação entre elementos  Ordem dos elementos filhos  Quantidade de elementos filhos  Elementos vazios  Tipos de dados para elementos e atributos  Valores padrão e fixo
  51. 51. Schemas x DTD  Schemas são extensíveis  Fornecem mais opções  São escritos em XML  Têm suporte a  Tipos de dados  Namespaces
  52. 52. Considerações Finais  XML permite  Buscas mais precisas  Apresentações diferentes de um mesmo documento  Transferência de dados  Tornar documentos mais acessíveis  Aplicações em diferentes domínios
  53. 53. Referências DTD: http://www.w3schools.com/DTD/dtd_examples.asp XSD: http://www.w3.org/XML/Schema XML: http://www.slideshare.net/yht4ever/introduction-to-xml? src=related_normal&rel=86621 XSD: http://www.w3.org/TR/xmlschema-2/ Namespaces: http://www.w3.org/TR/REC-xml-names/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×