SlideShare una empresa de Scribd logo
1 de 53
Descargar para leer sin conexión
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
Objetivo do Curso
 Apresentar
 XML com exemplos
 Transformações
• XPATH
• XSLT
• XSL-FO
 Aplicações
 Considerações sobre a linguagem
 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)
XML: Sumário
 Origem
 Definição
 Aplicação
 Vantagens x Limitações
 Conceitos Fundamentais
 Terminologia
 Sintaxe
 Estrutura Hierárquica
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
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
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
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
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
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
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
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
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
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
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;
Terminologia
 Comentários
 <!– iguais em HTML -->
 Um documento XML é composto por
elementos
 Elementos podem conter
 Texto (conteúdo)
 Outros elementos
 Ambos
 Atributos
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
 Mas importantes para manipular o
elemento
<arquivo formato="gif">logo.gif</arquivo>
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
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>
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
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
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
Vantagens
 Buscas facilitadas
 Pela semântica no armazenamento dos
dados
 Múltiplas formas de apresentação
 Compressão
 Devido à natureza repetitiva das tags
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
• Apresentar a informação
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
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
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>
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>
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
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
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
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
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>
DTD
<!DOCTYPE recado
[
<!ELEMENT recado (
para,de,assunto,mensagem)>
<!ELEMENT para(#PCDATA)>
<!ELEMENT de (#PCDATA)>
<!ELEMENT assunto (#PCDATA)>
<!ELEMENT mensagem (#PCDATA)>
]>
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
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*)>
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)*>
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
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>
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
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
DTD
 Permite 5 itens em um documento
XML
 Elementos
 Atributos
 Entidades
 PCDATA (parsed character data)
 CDATA (character data)
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
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
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>
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
XSD (XML Schema Definition)
 Declaração dos elementos
 Declaração dos atributos
 Tipos de dados
 44 possíveis
 Grupos de modelos
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
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
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
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/

Más contenido relacionado

La actualidad más candente (20)

Conceitos de xml
Conceitos de xmlConceitos de xml
Conceitos de xml
 
Aula Introdução a Linguagem XML
Aula Introdução a Linguagem XMLAula Introdução a Linguagem XML
Aula Introdução a Linguagem XML
 
XML - Introdução
XML - IntroduçãoXML - Introdução
XML - Introdução
 
XML & HTML
XML & HTMLXML & HTML
XML & HTML
 
XML - eXtensible Markup Language
XML - eXtensible Markup LanguageXML - eXtensible Markup Language
XML - eXtensible Markup Language
 
Apostila XML, DTD, XSD e XSLT
Apostila XML, DTD, XSD e XSLTApostila XML, DTD, XSD e XSLT
Apostila XML, DTD, XSD e XSLT
 
01- Introdução ao XML
01- Introdução ao XML01- Introdução ao XML
01- Introdução ao XML
 
XML Schema (2002)
XML Schema (2002)XML Schema (2002)
XML Schema (2002)
 
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
 
Parte5 xml
Parte5 xmlParte5 xml
Parte5 xml
 
Introdução ao XML
Introdução ao XMLIntrodução ao XML
Introdução ao XML
 
Xml Ws
Xml WsXml Ws
Xml Ws
 
XML - Parte 1
XML - Parte 1XML - Parte 1
XML - Parte 1
 
Linguagem SQL
Linguagem SQLLinguagem SQL
Linguagem SQL
 
XML
XMLXML
XML
 
Apostila xml
Apostila xmlApostila xml
Apostila xml
 
Curso XML - IBM Academic Initiative
Curso XML - IBM Academic InitiativeCurso XML - IBM Academic Initiative
Curso XML - IBM Academic Initiative
 
Xml pucminas2013
Xml pucminas2013Xml pucminas2013
Xml pucminas2013
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
A e xtensible markup language (xml)
A e xtensible markup language (xml)A e xtensible markup language (xml)
A e xtensible markup language (xml)
 

Destacado

XML och DTD
XML och DTDXML och DTD
XML och DTDbjornh
 
Agile method in the support of UI Context-Aware Adaptation.
Agile method in the support of UI Context-Aware Adaptation.Agile method in the support of UI Context-Aware Adaptation.
Agile method in the support of UI Context-Aware Adaptation.Nesrine Mezhoudi
 
A study for emotion search, inference, technology, service based on context a...
A study for emotion search, inference, technology, service based on context a...A study for emotion search, inference, technology, service based on context a...
A study for emotion search, inference, technology, service based on context a...JM code group
 
Users' Privacy Concerns About Wearables: Impact of form factor, sensors and t...
Users' Privacy Concerns About Wearables: Impact of form factor, sensors and t...Users' Privacy Concerns About Wearables: Impact of form factor, sensors and t...
Users' Privacy Concerns About Wearables: Impact of form factor, sensors and t...Vivian Motti
 
Micro interactions and multi dimensional graphical user interfaces in the des...
Micro interactions and multi dimensional graphical user interfaces in the des...Micro interactions and multi dimensional graphical user interfaces in the des...
Micro interactions and multi dimensional graphical user interfaces in the des...Vivian Motti
 
Understanding the Wearability of Head-mounted Devices from a Human-Centered P...
Understanding the Wearability of Head-mounted Devices from a Human-Centered P...Understanding the Wearability of Head-mounted Devices from a Human-Centered P...
Understanding the Wearability of Head-mounted Devices from a Human-Centered P...Vivian Motti
 
An Overview of Wearable Applications for Health Care: Requirements and Challe...
An Overview of Wearable Applications for Health Care: Requirements and Challe...An Overview of Wearable Applications for Health Care: Requirements and Challe...
An Overview of Wearable Applications for Health Care: Requirements and Challe...Vivian Motti
 
Using Smartwatches to Assist Students with Intellectual and Developmental Dis...
Using Smartwatches to Assist Students with Intellectual and Developmental Dis...Using Smartwatches to Assist Students with Intellectual and Developmental Dis...
Using Smartwatches to Assist Students with Intellectual and Developmental Dis...Vivian Motti
 
Wearable Computing: Healthcare, Human Factors and Privacy
Wearable Computing: Healthcare, Human Factors and PrivacyWearable Computing: Healthcare, Human Factors and Privacy
Wearable Computing: Healthcare, Human Factors and PrivacyVivian Motti
 
Human Factors Considerations in the Design of Wearable Devices
Human Factors Considerations in the Design of Wearable DevicesHuman Factors Considerations in the Design of Wearable Devices
Human Factors Considerations in the Design of Wearable DevicesVivian Motti
 
Smart Wearables or Dumb Wearables? Understanding how Context Impacts the UX i...
Smart Wearables or Dumb Wearables? Understanding how Context Impacts the UX i...Smart Wearables or Dumb Wearables? Understanding how Context Impacts the UX i...
Smart Wearables or Dumb Wearables? Understanding how Context Impacts the UX i...Vivian Motti
 
Context-Aware Adaptation
Context-Aware AdaptationContext-Aware Adaptation
Context-Aware AdaptationVivian Motti
 
Toward a Visual Vocabulary for Privacy Concepts
Toward a Visual Vocabulary for Privacy ConceptsToward a Visual Vocabulary for Privacy Concepts
Toward a Visual Vocabulary for Privacy ConceptsVivian Motti
 
2 dtd - validating xml documents
2   dtd - validating xml documents2   dtd - validating xml documents
2 dtd - validating xml documentsgauravashq
 

Destacado (17)

XML och DTD
XML och DTDXML och DTD
XML och DTD
 
Xml
XmlXml
Xml
 
Agile method in the support of UI Context-Aware Adaptation.
Agile method in the support of UI Context-Aware Adaptation.Agile method in the support of UI Context-Aware Adaptation.
Agile method in the support of UI Context-Aware Adaptation.
 
A study for emotion search, inference, technology, service based on context a...
A study for emotion search, inference, technology, service based on context a...A study for emotion search, inference, technology, service based on context a...
A study for emotion search, inference, technology, service based on context a...
 
Users' Privacy Concerns About Wearables: Impact of form factor, sensors and t...
Users' Privacy Concerns About Wearables: Impact of form factor, sensors and t...Users' Privacy Concerns About Wearables: Impact of form factor, sensors and t...
Users' Privacy Concerns About Wearables: Impact of form factor, sensors and t...
 
Micro interactions and multi dimensional graphical user interfaces in the des...
Micro interactions and multi dimensional graphical user interfaces in the des...Micro interactions and multi dimensional graphical user interfaces in the des...
Micro interactions and multi dimensional graphical user interfaces in the des...
 
Wristsense2015
Wristsense2015Wristsense2015
Wristsense2015
 
Understanding the Wearability of Head-mounted Devices from a Human-Centered P...
Understanding the Wearability of Head-mounted Devices from a Human-Centered P...Understanding the Wearability of Head-mounted Devices from a Human-Centered P...
Understanding the Wearability of Head-mounted Devices from a Human-Centered P...
 
An Overview of Wearable Applications for Health Care: Requirements and Challe...
An Overview of Wearable Applications for Health Care: Requirements and Challe...An Overview of Wearable Applications for Health Care: Requirements and Challe...
An Overview of Wearable Applications for Health Care: Requirements and Challe...
 
Using Smartwatches to Assist Students with Intellectual and Developmental Dis...
Using Smartwatches to Assist Students with Intellectual and Developmental Dis...Using Smartwatches to Assist Students with Intellectual and Developmental Dis...
Using Smartwatches to Assist Students with Intellectual and Developmental Dis...
 
Wearable Computing: Healthcare, Human Factors and Privacy
Wearable Computing: Healthcare, Human Factors and PrivacyWearable Computing: Healthcare, Human Factors and Privacy
Wearable Computing: Healthcare, Human Factors and Privacy
 
Human Factors Considerations in the Design of Wearable Devices
Human Factors Considerations in the Design of Wearable DevicesHuman Factors Considerations in the Design of Wearable Devices
Human Factors Considerations in the Design of Wearable Devices
 
Smart Wearables or Dumb Wearables? Understanding how Context Impacts the UX i...
Smart Wearables or Dumb Wearables? Understanding how Context Impacts the UX i...Smart Wearables or Dumb Wearables? Understanding how Context Impacts the UX i...
Smart Wearables or Dumb Wearables? Understanding how Context Impacts the UX i...
 
Context-Aware Adaptation
Context-Aware AdaptationContext-Aware Adaptation
Context-Aware Adaptation
 
Dtd
DtdDtd
Dtd
 
Toward a Visual Vocabulary for Privacy Concepts
Toward a Visual Vocabulary for Privacy ConceptsToward a Visual Vocabulary for Privacy Concepts
Toward a Visual Vocabulary for Privacy Concepts
 
2 dtd - validating xml documents
2   dtd - validating xml documents2   dtd - validating xml documents
2 dtd - validating xml documents
 

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

Similar a Aplicando Transformação em XML usando XSLT e XSL-FO - 1 (17)

Arquitetura: XML + RDF ate WebSemantica
Arquitetura: XML + RDF ate WebSemanticaArquitetura: XML + RDF ate WebSemantica
Arquitetura: XML + RDF ate WebSemantica
 
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
 
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
 
Tp 4 xml
Tp 4   xmlTp 4   xml
Tp 4 xml
 
XML: uma introdução (UNESP, GPNTI, BEAM)
XML: uma introdução (UNESP, GPNTI, BEAM)XML: uma introdução (UNESP, GPNTI, BEAM)
XML: uma introdução (UNESP, GPNTI, BEAM)
 
Curso de xml
Curso de xmlCurso de xml
Curso de xml
 
Pro php and xml web services xml canonical
Pro php and xml web services   xml canonicalPro php and xml web services   xml canonical
Pro php and xml web services xml canonical
 
XSL, XSL-FO e XSLT + XPath
XSL, XSL-FO e XSLT + XPathXSL, XSL-FO e XSLT + XPath
XSL, XSL-FO e XSLT + XPath
 
JustJava 2004: JAXB
JustJava 2004: JAXBJustJava 2004: JAXB
JustJava 2004: JAXB
 
Java e XML
Java e XMLJava e XML
Java e XML
 
Conceitos básicos de Xml
Conceitos básicos de XmlConceitos básicos de Xml
Conceitos básicos de Xml
 
Html e css
Html e cssHtml e css
Html e css
 
Aula Xml Schema - XSD
Aula Xml Schema - XSDAula Xml Schema - XSD
Aula Xml Schema - XSD
 
XML_WS.pdf
XML_WS.pdfXML_WS.pdf
XML_WS.pdf
 
Xml
XmlXml
Xml
 
Introdução HTML_CSS.pptx
Introdução  HTML_CSS.pptxIntrodução  HTML_CSS.pptx
Introdução HTML_CSS.pptx
 
Codificações basicas em HTML e XML
Codificações basicas em HTML e XMLCodificações basicas em HTML e XML
Codificações basicas em HTML e XML
 

Más de Vivian Motti

Keynote speech - Webmedia 2020
Keynote speech - Webmedia 2020Keynote speech - Webmedia 2020
Keynote speech - Webmedia 2020Vivian Motti
 
Smartwatch Applications as Assistive Technologies
Smartwatch Applications as Assistive TechnologiesSmartwatch Applications as Assistive Technologies
Smartwatch Applications as Assistive TechnologiesVivian Motti
 
Wearable technologies
Wearable technologiesWearable technologies
Wearable technologiesVivian Motti
 
Cards - Users with Disabilities - Course Material
Cards - Users with Disabilities - Course MaterialCards - Users with Disabilities - Course Material
Cards - Users with Disabilities - Course MaterialVivian Motti
 
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...Vivian Motti
 
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...Vivian Motti
 
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...Vivian Motti
 
mHealth Application to Inform Caregivers of Babies with Congenital Zika Virus...
mHealth Application to Inform Caregivers of Babies with Congenital Zika Virus...mHealth Application to Inform Caregivers of Babies with Congenital Zika Virus...
mHealth Application to Inform Caregivers of Babies with Congenital Zika Virus...Vivian Motti
 
Smartwatch Applications for Mental Health: A Qualitative Analysis of Users’ P...
Smartwatch Applications for Mental Health: A Qualitative Analysis of Users’ P...Smartwatch Applications for Mental Health: A Qualitative Analysis of Users’ P...
Smartwatch Applications for Mental Health: A Qualitative Analysis of Users’ P...Vivian Motti
 
Wearable privacy skeletons in the data closet
Wearable privacy  skeletons in the data closetWearable privacy  skeletons in the data closet
Wearable privacy skeletons in the data closetVivian Motti
 
Wearable Life: a Wrist-Worn Application to Assist Students in Special Education
Wearable Life: a Wrist-Worn Application to Assist Students in Special EducationWearable Life: a Wrist-Worn Application to Assist Students in Special Education
Wearable Life: a Wrist-Worn Application to Assist Students in Special EducationVivian Motti
 
UX Design for Wrist-Worn Wearables – how contextual dynamics influence intera...
UX Design for Wrist-Worn Wearables – how contextual dynamics influence intera...UX Design for Wrist-Worn Wearables – how contextual dynamics influence intera...
UX Design for Wrist-Worn Wearables – how contextual dynamics influence intera...Vivian Motti
 
Wrist-Worn Interaction: Design Challenges and Opportunities
Wrist-Worn Interaction: Design Challenges and OpportunitiesWrist-Worn Interaction: Design Challenges and Opportunities
Wrist-Worn Interaction: Design Challenges and OpportunitiesVivian Motti
 
Public PhD Defense Vivian Motti
Public PhD Defense Vivian MottiPublic PhD Defense Vivian Motti
Public PhD Defense Vivian MottiVivian Motti
 
Webmedia 2013: Enhancing Collaborative Sketching Activities with Context-awar...
Webmedia 2013: Enhancing Collaborative Sketching Activities with Context-awar...Webmedia 2013: Enhancing Collaborative Sketching Activities with Context-awar...
Webmedia 2013: Enhancing Collaborative Sketching Activities with Context-awar...Vivian Motti
 

Más de Vivian Motti (17)

Keynote speech - Webmedia 2020
Keynote speech - Webmedia 2020Keynote speech - Webmedia 2020
Keynote speech - Webmedia 2020
 
Usable Privacy
Usable PrivacyUsable Privacy
Usable Privacy
 
Smartwatch Applications as Assistive Technologies
Smartwatch Applications as Assistive TechnologiesSmartwatch Applications as Assistive Technologies
Smartwatch Applications as Assistive Technologies
 
Wearable technologies
Wearable technologiesWearable technologies
Wearable technologies
 
Cards - Users with Disabilities - Course Material
Cards - Users with Disabilities - Course MaterialCards - Users with Disabilities - Course Material
Cards - Users with Disabilities - Course Material
 
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
 
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
 
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
 
mHealth Application to Inform Caregivers of Babies with Congenital Zika Virus...
mHealth Application to Inform Caregivers of Babies with Congenital Zika Virus...mHealth Application to Inform Caregivers of Babies with Congenital Zika Virus...
mHealth Application to Inform Caregivers of Babies with Congenital Zika Virus...
 
Smartwatch Applications for Mental Health: A Qualitative Analysis of Users’ P...
Smartwatch Applications for Mental Health: A Qualitative Analysis of Users’ P...Smartwatch Applications for Mental Health: A Qualitative Analysis of Users’ P...
Smartwatch Applications for Mental Health: A Qualitative Analysis of Users’ P...
 
Wearable privacy skeletons in the data closet
Wearable privacy  skeletons in the data closetWearable privacy  skeletons in the data closet
Wearable privacy skeletons in the data closet
 
Wearable Life: a Wrist-Worn Application to Assist Students in Special Education
Wearable Life: a Wrist-Worn Application to Assist Students in Special EducationWearable Life: a Wrist-Worn Application to Assist Students in Special Education
Wearable Life: a Wrist-Worn Application to Assist Students in Special Education
 
UX Design for Wrist-Worn Wearables – how contextual dynamics influence intera...
UX Design for Wrist-Worn Wearables – how contextual dynamics influence intera...UX Design for Wrist-Worn Wearables – how contextual dynamics influence intera...
UX Design for Wrist-Worn Wearables – how contextual dynamics influence intera...
 
Wearable Health
Wearable HealthWearable Health
Wearable Health
 
Wrist-Worn Interaction: Design Challenges and Opportunities
Wrist-Worn Interaction: Design Challenges and OpportunitiesWrist-Worn Interaction: Design Challenges and Opportunities
Wrist-Worn Interaction: Design Challenges and Opportunities
 
Public PhD Defense Vivian Motti
Public PhD Defense Vivian MottiPublic PhD Defense Vivian Motti
Public PhD Defense Vivian Motti
 
Webmedia 2013: Enhancing Collaborative Sketching Activities with Context-awar...
Webmedia 2013: Enhancing Collaborative Sketching Activities with Context-awar...Webmedia 2013: Enhancing Collaborative Sketching Activities with Context-awar...
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)
  • 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/