Your SlideShare is downloading. ×
Aplicando Transformação em XML usando XSLT e XSL-FO - 1
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

350
views

Published on

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

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


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
350
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. Objetivo do Curso  Apresentar  XML com exemplos  Transformações • XPATH • XSLT • XSL-FO  Aplicações  Considerações sobre a linguagem
  • 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. XML: Sumário  Origem  Definição  Aplicação  Vantagens x Limitações  Conceitos Fundamentais  Terminologia  Sintaxe  Estrutura Hierárquica
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Terminologia  Comentários  <!– iguais em HTML -->  Um documento XML é composto por elementos  Elementos podem conter  Texto (conteúdo)  Outros elementos  Ambos  Atributos
  • 17. Elementos  Simples  Sem atributos  Sem filhos  Complexos  Têm ao menos um atributo  Ou um filho
  • 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. 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. 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. 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. 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. 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. Vantagens  Buscas facilitadas  Pela semântica no armazenamento dos dados  Múltiplas formas de apresentação  Compressão  Devido à natureza repetitiva das tags
  • 25. Desvantagens  Informações repetidas  Linguagem verbosa  Dependente  Não tem suporte a tipos de dados
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. DTD <!DOCTYPE recado [ <!ELEMENT recado ( para,de,assunto,mensagem)> <!ELEMENT para(#PCDATA)> <!ELEMENT de (#PCDATA)> <!ELEMENT assunto (#PCDATA)> <!ELEMENT mensagem (#PCDATA)> ]>
  • 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. 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. 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. 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. 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. 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. 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. DTD  Permite 5 itens em um documento XML  Elementos  Atributos  Entidades  PCDATA (parsed character data)  CDATA (character data)
  • 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. 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. 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. 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. XSD (XML Schema Definition)  Declaração dos elementos  Declaração dos atributos  Tipos de dados  44 possíveis  Grupos de modelos
  • 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. 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. 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. 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/