April 05 Prof. Ismael H. F. Santos - [email protected] 1 Módulo III Introdução a XML...

108
April 05 Prof. Ismael H. F. Santos - [email protected] 1 Módulo III Introdução a XML Prof. Ismael H F Santos

Transcript of April 05 Prof. Ismael H. F. Santos - [email protected] 1 Módulo III Introdução a XML...

Page 1: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

April 05 Prof. Ismael H. F. Santos - [email protected] 1

Módulo III Introdução a XML

Prof. Ismael H F Santos

Page 2: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 2

Ementa

Modulo III – XML SGML - Standard Generalized Markup Language XML - Extensible Markup Language XML Validação DTD x XML/Schema XML Processing - XSLT

Page 3: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 3

Linguagem de Programação JAVA Ismael H. F. Santos, Apostila UniverCidade, 2002

The Java Tutorial: A practical guide for programmers Tutorial on-line: http://java.sun.com/docs/books/tutorial

Java in a Nutshell David Flanagan, O´Reilly & Associates

Just Java 2 Mark C. Chan, Steven W. Griffith e Anthony F. Iasi, Makron

Books. Java 1.2

Laura Lemay & Rogers Cadenhead, Editora Campos

Bibliografia

Page 4: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 4

Livros

Core Java 2, Cay S. Horstmann, Gary Cornell Volume 1 (Fundamentos) Volume 2 (Características Avançadas)

Java: Como Programar, Deitel & Deitel Thinking in Patterns with JAVA, Bruce Eckel

Gratuito. http://www.mindview.net/Books/TIJ/

Page 5: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 5

SGMLPOO-Java

Page 6: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 6

SGML - Standard Generalized Markup Language

ISO 8879 definido em 1986 Conceitos básicos:

separação entre conteúdo e apresentação de documentos

conteúdo estruturado logicamente informação específica à apresentação

objetivo principal do SGML é estruturar a informação, lidando com conteúdo e estrutura

apresentação é feita usando outros mecanismos (style sheets)

Page 7: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 7

SGML - Standard Generalized Markup Language

Marcação descritiva (documento pode ser processado por diferentes programas)

Documento tipado (método padrão para descrever a estrutura do documento)

Independêcia de sistema para representar o script no qual o texto é escrito

Page 8: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 8

SGML - Standard Generalized Markup Language

Uso em larga escala: HTML 2.0: especificado como aplicação SGML (1994)

Conteúdo: elementos lógicos estruturados

hierarquicamente => Árvore do Documento (Document Tree)

Processamento automatizado do documento índice, lista de figuras, tabelas

Page 9: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 9

SGML<antologia>

<poema><titulo>São demais os perigos desta vida</titulo>

<estrofe><linha>São demais os perigos desta vida</linha><linha>pra quem tem paixão</linha><linha>Principalmente quando uma lua chega de

repente</linha><linha>e se deixa no céu como esquecida</linha>

</estrofe><estrofe>

<linha>E se ao luar que atua desvairado</linha><linha>vem se unir uma música qualquer</linha><linha>Aí, então, é preciso ter cuidado</linha><linha>porque deve andar perto uma mulher</linha>

</estrofe><estrofe>

<linha>Uma mulher que é feita</linha><linha>de música, luar e sentimento</linha><linha>E que a vida não quer de tão perfeita</linha>

</estrofe><estrofe>

<linha>Uma mulher que é como a própria lua</linha>

<linha>Tão linda que só espalha sofrimento</linha><linha>Tão cheia de pudor que vive nua</linha>

</estrofe></poema>

<!-- mais poemas --></antologia> ( ... poema de Vinícius de Moraes )

Classe de documentos especificada através de uma DTD - Document Type Definition os elementos de uma

classe de documentos e seus atributos

as regras para combinar esses elementos, especificando o conteúdo permitido para cada elemento

Page 10: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 10

SGML DTD

<!ELEMENT antologia (poema+)> <!ELEMENT poema (titulo?,estrofe+)> <!ELEMENT titulo (#PCDATA)> <!ELEMENT estrofe (linha+)> <!ELEMENT linha (#PCDATA)>

Exemplo de DTD de um livro: <!ELEMENT book (author, heading, chapter+)> <!ELEMENT chapter (heading, (paragraph|figure)*, section*)> <!ELEMENT section (heading, (paragraph|figure)*)> <!ELEMENT (author|heading) (#PCDATA)> <!ELEMENT paragraph ((#PCDATA|reference)*)> <!ELEMENT reference EMPTY>

Page 11: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 11

SGML

Especificando atributos dos elementos <!ATTRLIST (chapter|section) id CDATA #IMPLIED> <!ATTRLIST reference id CDATA #REQUIRED type (section|

page) section> Usando

<chapter id=“sgml”> <heading>Standard Generalized Markup Language</heading> <paragraph> ... </paragraph>

<section id=“content”> <heading>Content and Presentation</heading> <paragraph> ... </paragraph> ... in section <reference type=“section”

id=“content”></reference> on page <reference type=“page” id=“content”></reference> bla bla bla ...

Page 12: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 12

Parser SGML

Declaração SGML delimitadores de

marcação nomes reservados

(ELEMENT, ATTRLIST, ...) tamanho máximo dos

nomes dos elementos se delimitadores de ínicio

e fim podem ser opcionais

• DTD • Documento

Page 13: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 13

XMLPOO-Java

Page 14: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 14

XML – Extensible Markup Language

XML é um documento de Texto Dois tipos de elementos

Marcação – Guarda a estrutura do documento Dados – Informação propriamente dita

Uma maneira de representar informação não é uma linguagem específica não define vocabulário de comandos não define uma gramática, apenas regras mínimas

Exemplo:

Page 15: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 15

XML x HTML

HTML mostra como apresentar

XML mostra o que significa

Page 16: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 16

Anatomia de um documento XML

Page 17: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 17

Componentes de um documento XML

Árvore XML nós, raiz, galhos e folhas

Prólogo Comentários Instruções de processamento Elementos Atributos Nós de texto Entidades

Page 18: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 18

Partes de um documento XML

Page 19: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 19

Árvore XML

Page 20: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 20

Estrutura XML

Page 21: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 21

Prólogo XML

Page 22: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 22

Nó raiz e elementos

Page 23: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 23

Atributos

Page 24: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 24

Nós de Texto

Page 25: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 25

Entidades

Page 26: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 26

Entidades de caracteres

Page 27: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 27

Elementos e Atributos

Page 28: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 28

Elementos e Atributos (2)

Page 29: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 29

Quando usar elementos/atributos

Questão de design Elementos geralmente referem-se a coisas que

têm atributos Atributos geralmente são características

dessas coisas que podem ser descritas com poucas palavras

Questão de suporte tecnológico Atributos não podem conter subelementos Atributos são mais fáceis de serem validados

num DTD

Page 30: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 30

Identificadores

Nomes de atributos e elementos Podem conter

qualquer caractere alfanumérico ou ideograma

. (ponto) - (hífen) _ (sublinhado)

Não podem começar com ponto, hífen ou número

Page 31: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 31

Identificadores (2)

Page 32: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 32

Conteúdo misto

Page 33: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 33

Seção CDATA (Character DATA)

Page 34: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 34

Instruções de processamento

Page 35: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 35

Declaração XML

Page 36: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 36

Documento XML bem-formado

Documento bem-formado ter um único elemento raiz etiquetas iniciais e finais combinam (levando em conta

que caracteres maiúsculos e minúsculos são diferentes) elementos bem aninhados valores de atributos entre aspas ou apóstrofes atributos não repetidos identificadores válidos para elementos e atributos comentários não devem aparecer dentro das etiquetas sinais < ou & nunca devem ocorrer dentro dos valores

dos atributos ou nos nós de texto do documento.

Page 37: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 37

XML Namespaces

Page 38: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 38

XML Namespaces

Limita o escopo de elementos Evita conflitos quando duas linguagens se cruzam no

mesmo documento Consiste da associação de um identificador a cada

elemento/atributo da linguagem, que pode ser herdado através do escopo de uma sub-árvore atribuído explicitamente através de um prefixo

Page 39: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 39

Outro Exemplo

Page 40: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 40

Exemplo com 3 Namespaces

Page 41: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 41

Por que usar XML para compartilhar dados?

Porque é um padrão aberto Facilidade para converter para formatos proprietários

Porque é texto Fácil de ler, fácil de processar, menos

incompatibilidades Porque promove a separação entre estrutura,

conteúdo e apresentação Facilita geração de dados para visualização dinâmica Evita repetição de informação / simplifica manutenção

Porque permitirá semântica na Web Elementos HTML não carregam significado, apenas

dicas de formatação: mecanismos de busca ficam prejudicados

Solução com XML dependerá de suporte dos clientes

Page 42: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 42

XML Validação

POO-Java

Page 43: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 43

Por que validar ?

Page 44: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 44

Definindo um Esquema XML

Page 45: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 45

Classes x Instâncias

Page 46: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 46

Documentos Válidos

Page 47: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 47

O que define um Esquema XML

Documento Váido

DTD

Page 48: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 48

Documentos não-válidos

Diga porque os documentos são não-válidos ?

Page 49: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 49

DTD Externo SYSTEM

Page 50: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 50

DTD Publico

Page 51: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 51

DTD Interno

Page 52: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 52

DTD Incompleto

Page 53: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 53

DTD exemplo

Page 54: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 54

<!ELEMENT> e #PCDATA

PCDATA - Parsed Character Data Elemento pode conter texto Não pode conter elementos

Page 55: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 55

Seqüências de Elementos-filho

Page 56: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 56

Seleção de um Elemento-filho

Page 57: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 57

Conteúdo Misto

Page 58: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 58

Elementos Vazios e Any

Page 59: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 59

<!ATTLIST>

Page 60: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 60

Exemplos

Page 61: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 61

Tipos de Dados XML

Page 62: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 62

CDATA e NMTOKEN

Page 63: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 63

Seleção

Page 64: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 64

ID

Page 65: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 65

IDREF

Page 66: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 66

IDREFS

Page 67: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 67

Valores Default

Page 68: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 68

<!NOTATION> e tipo NOTATION

Page 69: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 69

<!ENTITY>

Page 70: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 70

Entidades gerais internas

Page 71: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 71

Entidades gerais externas

Page 72: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 72

Entidades externas não processadas

Page 73: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 73

Entidades de parâmetro

Page 74: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 74

Entidades de parâmetro externas

Page 75: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 75

Condicionais

Page 76: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 76

Utilidades dos Condicionais

Page 77: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 77

Namespaces e XML Schema

Page 78: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 78

DTD x

XML/Schema

POO-Java

Page 79: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 79

XLink

Page 80: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 80

Exemplos de XLink

Page 81: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 81

XPointer

Page 82: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 82

Onde usar XML?

Page 83: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 83

Como produzir XML

Page 84: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 84

Documentos XML bem formados

Para que possa ser manipulado como uma árvore, um documento XML precisa ser bem formado Documentos que não são bem formados não são

documentos XML Documentos bem-formados obedecem as regras de

construção de documentos XML genéricos Regras incluem

Ter um, e apenas um, elemento raiz Valores dos atributos estarem entre aspas ou

apóstrofes Atributos não se repetirem Todos os elementos terem etiqueta de fechamento Elementos estarem corretamente aninhados

Page 85: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 85

XML válido

Um XML bem construído pode não ser válido em determinada aplicação

Aplicação típica pode esperar que elementos façam parte de um vocabulário limitado, certos atributos tenham valores e tipos definidos, elementos sejam organizados de acordo com uma

determinada estrutura hierárquica, etc. É preciso especificar a linguagem!

Esquema: modelo que descreve todos os elementos, atributos, entidades, suas relações e tipos de dados

Um documento XML é considerado válido em relação a um esquema se obedecer todas as suas regras

Page 86: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 86

Esquemas XML

Page 87: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 87

DTD vs. XML Schema

Page 88: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 88

XML Processing

POO-Java

Page 89: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 89

Visualização em um browser

Folha de estilo: conjunto de regras para formatar ou transformar as informações de um documento XML

CSS - Cascading Style Sheets Transformação visando apresentação visual Aplicação do estilo em tempo de execução no

cliente

Page 90: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 90

Visualização em um browser

XSLT - eXtensible Stylesheet Language Transformação em texto, HTML ou outro formato Aplicação em tempo real ou prévia (no servidor)

Se não estiver associado a uma folha de estilo, o documento XML não tem uma "aparência" definida Internet Explorer e outros mostram a árvore-fonte

XML Netscape mostra apenas os nós de texto

Page 91: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 91

Como manipular XML?

Há duas APIs padrão para manipular (interpretar, gerar, extrair dados e tratar eventos) arquivos XML: W3C Document Object Model (W3C DOM) Simple API for XML (SAX)

Servem a finalidades diferentes Implementações disponíveis em várias linguagens SAX oferece métodos que respondem a eventos

produzidos durante a leitura do documento notifica quando um elemento abre, quando fecha, etc.

DOM monta uma árvore, que permite a navegação na estrutura do documento propriedades dos objetos podem ser manipuladas

Page 92: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 92

Leitura de XML com SAX

Page 93: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 93

Criação de documentos com DOM (1)

Page 94: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 94

Criação de documentos com DOM (2)

Page 95: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 95

XPath

Page 96: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 96

XSLT

Page 97: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 97

XSLT: documento-fonte (1)

Page 98: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 98

XSLT: folha de estilos (2)

Page 99: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 99

XSLT: documento-resultado (3)

Page 100: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 100

XLink, XPointer e XQuery

Page 101: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 101

XSL-FO

Page 102: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 102

XSL-FO: menor documento

Page 103: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 103

XHTML

Page 104: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 104

SVG

Page 105: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 105

Exemplo SVG

Page 106: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 106

Algumas outras linguagens XML

Page 107: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 107

Ferramentas XML

Page 108: April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Módulo III Introdução a XML Prof. Ismael H F Santos.

Outubro 2008 Prof. Ismael H. F. Santos - [email protected] 108

Conclusões