O documento apresenta os principais conceitos e definições relacionados a XML, XSD, XSL, XPath e XSL-FO. É dividido em quatro partes, abordando normalização e validação de documentos XML, transformação de dados usando XSLT e formatação com XSL-FO.
An Overview of Wearable Applications for Health Care: Requirements and Challe...
Aplicando Transformações XML
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. 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)
6. Associando Schema ao XML
<?xml version="1.0"encoding="UTF-8"?>
<recado
xmlns="http://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance"
xsi:schemaLocation="http://www.w3schools.com
recado.xsd">
<para>João</para>
...
<mensagem>Sua mãe ligou.</mensagem>
</recado>
7. Associando Schema ao XML
xmlns="http://www.w3schools.com"
Especifica a declaração do namespace padrão
Todos os elementos usados no XML original estão
declarados no namespace da URL
Tendo o namespace disponível:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance"
Declara-se o namespace a ser usado
E o Schema
xsi:schemaLocation="http://www.w3schools.com
recado.xsd"
8. Restrições
Elementos do Schema que
restringem a definição de
simpleType
simpleContent
complexContent
9. Elementos Simples
São elementos compostos apenas
por texto
Não possuem atributos nem outros
elementos
No entanto o texto pode ser de
diferentes tipos
Boolean, string, date
É possível restringir seu conteúdo
10. Elementos Simples
São definidos assim
<xs:element name="x" type="y">
Tipos
xs:string
xs:decimal
xs:integer
xs:boolean
xs:date
xs:time
12. Valores Padrão e Fixo
É possível especificar um valor fixo ou
padrão para elementos simples
<xs:element name="sexo" type="xs:string"
default="M"/>
O valor padrão é usado caso nenhum outro
seja definido
Já o valor fixo não pode ser alterado
<xs:element name="cor" type="xs:string"
fixed="azul"/>
13. Exemplo de Atributo
Exemplo
<nome prefixo="Sr">Smith</nome>
Declaração
<xs:attribute name="prefixo" type="xs:string"/>
Opções
Valor padrão ou constante
Opcional ou Requerido
Conteúdos Restritos
16. Ocorrências
Quantidade de elementos
DTD: *, ?, +
Schema: minOccurs, maxOccurs
<xs:element name="cel" type="xs:string"
minOccurs="1" maxOccurs="2"/>
Valor especial
maxOccurs="unbounded"
Sem limites
17. Tipos de Dados
É possível criar tipos de dados próprios
<xs:element name="nomecompleto">
<xs:complexType>
<xs:sequence>
<xs:element name="nome" type="xs:string"/>
<xs:element name="sobrenome" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
18. Ordem dos elementos
Há três opções
Sequence: atribui uma ordem fixa aos
elementos
All: qualquer ordem é possível
Choice: um elemento da lista aparece
21. Parsing
Análise
É feita uma leitura integral do
documento
A informação é estrutura de acordo
com a definição de seus elementos
22. Parsers
Lêem o documento XML
Analisam a formatação e gramática
Convertem em um objeto DOM
Para ser acessado via JavaScript
Expat
Desenvolvido em C
XML4J
Suporta DOM e SAX
23. SAX (Simple API for XML)
É um conjunto de interfaces Java
Permite criação de aplicativos para
ler dados em um documento XML
Parsing
24. DOM (Document Object Model)
Define um modo padrão para acessar e
manipular documentos XML
Interpreta como estrutura em árvore
Permitindo acesso, alteração, criação e
remoção de nós
Armazena o documento todo na
memória
Não recomendado para arquivos grandes
25. DOM
Para navegação e manipulação de
conteúdo
Adição de modelos de folhas de estilo
Visualização da formatação dos
documentos
Método para recuperar dados
getElementsByTagName()
26. Linguagens Derivadas
XHTML última versão do HTML
SVG formato de imagens
SMIL para descrever multimídia na web
WSDL para descrever webservices
WAP linguagem de marcação para PDAs
RSS para feeds
RDF e OWL para descrever recursos e
ontologias
MathML, CML
28. SMIL (smile)
Synchronized Multimedia Integration
Language
Descreve o tempo em uma
apresentação
Descreve o layout da apresentação na
tela
Associa links aos objetos de mídia
29. MathML
Mathematical Markup Language
Recomendação W3C
Linguagem para descrições
matemáticas
Provê acessibilidade
E consultas mais precisas
32. Considerações Importantes
XML: Extensible Markup Language
Não substitui o HTML
DTD: Document Type Definition
XSL: Extensible Stylesheet Language
<?xml version="1.0"?>
Documentos válidos x bem-formados
34. Definição de XSL
XSL: Extensible Stylesheet Language
Transforma o XML adicionando folhas de
estilo a ele
Usa linguagem de transformação e de
formatação
XSL
É um conjunto de recomendações para
definir a transformação e a apresentação
de um documento XML
35. Transformação do XML
Reorganiza o conteúdo
Adicionando
Movendo ou
Excluindo elementos
XSL
Associa regras de formatação aos
elementos
36. Folhas de Estilo
Arquivos que descrevem a formatação
de documentos XML
Consistem em:
XPATH
Transformações ou XSLT
XSL-FO
37. Comparação
CSS
Folhas de estilo para apresentar
conteúdo HML
XSL
Folhas de estilo para apresentar
conteúdo XML
39. XPATH
Sintaxe para navegar por conteúdo
XML
Possui uma biblioteca de funções
padrão
É o principal elemento de XSLT
É um recomendação da W3C
40. XPATH
Linguagem para acesso ao conteúdo
de um documento XML
Manipula strings, números, booleanos
Navega pela estrutura hierárquica
de um documento XML
Classifica os nós em 5 tipos
Pai, filho, irmão, ancestral e
descendente
41. Nós em XPATH
São de 7 tipos diferentes
Elemento
Atributo
Texto
Namespaces
Instruções de processamento
Comentários
Raiz
Documentos XML são sempre tratados
como árvores
42. Nós em XPATH
Valores Atômicos
São nós sem filhos ou sem pais
Ex: <nome>Maria</nome>
Nós Pais
Todo elemento e atributo possui um pai
Filhos
Elementos podem ter zero, um ou mais
filhos
43. Nós em XPATH
Irmãos
Nós com o mesmo pai
Nó Ancestral
O pai, ou avó ... de um nó
Nós Descendentes
Os filhos, ou netos ... de um nó
44. Expressões em XPATH
São utilizadas para
Selecionar nós e conjuntos de nós em
um documento XML
Sua sintaxe é similar à de
navegação por sistemas de arquivos
45. Expressões em XPATH
seleciona os atributos do nó@
seleciona o pai do nó atual..
seleciona o nó atual.
seleciona nós do documento a partir do nó atual//
seleciona do nó raiz/
seleciona todos os nós filhos do nó correspondentenome do nó
DescriçãoExpressão
46. Exemplos de expressões
XPATH
todos os elementos telefone que tenham um
atributo tipo de valor celular
//telefone[@tipo='celular']
o primeiro elemento nome que é filho de
agenda
/agenda/nome[1]
todos os elementos telefone que tenham um
atributo tipo
//telefone[@tipo]
os dois primeiros elemento nome que é filho
de agenda
/agenda/nome[position() < 3]
o penúltimo elemento nome que é filho de
agenda
/agenda/nome[last() - 1]
o último elemento nome que é filho de
agenda
/agenda/nome[last()]
o primeiro elemento nome que é filho de
agenda
/agenda/nome[1]
SeleçãoExpressão
47. Expressões Genéricas
*
Seleciona qualquer elemento
@*
Seleciona qualquer atributo de qualquer
elemento
node()
Seleciona qualquer nó de qualquer tipo
|
Seleciona mais de um caminho
Ex://agenda/nome | //agenda/telefone
48. Eixos em XPATH
Definem um conjunto de nós relativos
todos os atributos do nó atualattribute
todos os filhos do nó atualchild
e ele própriodescendant-or-self
todos os descendentesdescendant
e ele próprioancestor-or-self
todos os ancestraisancestor
49. Eixos em XPATH
Definem um conjunto de nós relativos
todos os nós de namespaces do nó atualnamespace
todos os filhos do nó atualchild
tudo no documento que está antes do nó
atual
preceding
o pai do nó atualparent
todos os irmão após o nó atualfollowing-sibling
tudo no documento que vier na
sequência do nó atual
following
53. Expressão de local
Um caminho de localização pode ser
Absoluto ou
Relativo
Caminhos absolutos são iniciados
por um barra
/nome
Caminhos relativos não
nome
54. Funções Padrão
XPATH possui uma biblioteca com
mais de 100 funções padrão para
Comparação de strings, valores
numéricos, booleanos, e tempo
Manipulação de nós e de sequências
XPATH é usada em XSLT
55. Considerações Importantes
XSL
Transforma os elementos usando XSLT
Formata os elementos usando XSL-FO
XPATH
Linguagem para seleção e manipulação
de nós XML
56. Considerações Finais
XML é uma linguagem dependente,
portanto é necessário
XSD para validar um documento (ou
DTD)
XSL para transformar e formatar
XPATH para navegar pelo documento
fonte
57. Referências
[XPath, 1999] Definição de XPath disponível em: http
://www.w3.org/TR/xpath
[XPath, 2009] Tutorial sobre XPath disponível em: http
://www.w3schools.com/xpath/
[XSL, 2009] Tutorial sobre XSL da W3C. Disponível em:
http://www.w3schools.com/Xsl/xsl_languages.asp