Webmedia 2013: Enhancing Collaborative Sketching Activities with Context-awar...
Aplicando Transformação em XML usando XSLT e XSL-FO - 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. 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)
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 <
aspas duplas""
apóstrofe''
e comercial&&
maior>>
menor<<
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
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
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
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
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