1
|
|
2
|
- Modulo III – XML
- SGML - Standard Generalized Markup Language
- XML - Extensible Markup Language
- XML Validação
- DTD x XML/Schema
- XML Processing - XSLT
|
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
|
4
|
- 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/
|
5
|
|
6
|
- 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)
|
7
|
- 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
|
8
|
- 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
|
9
|
- <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 )
|
10
|
- 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>
|
11
|
- 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 ...
|
12
|
- 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
|
13
|
|
14
|
- 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:
|
15
|
- HTML mostra como apresentar
- XML mostra o que significa
|
16
|
|
17
|
- Árvore XML
- nós,
- raiz,
- galhos e
- folhas
- Prólogo
- Comentários
- Instruções de processamento
- Elementos
- Atributos
- Nós de texto
- Entidades
|
18
|
|
19
|
|
20
|
|
21
|
|
22
|
|
23
|
|
24
|
|
25
|
|
26
|
|
27
|
|
28
|
|
29
|
- 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
|
30
|
- Nomes de atributos e elementos
- Podem conter
- qualquer caractere alfanumérico ou ideograma
- . (ponto)
- - (hífen)
- _ (sublinhado)
- Não podem começar com
|
31
|
|
32
|
|
33
|
|
34
|
|
35
|
|
36
|
- 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.
|
37
|
|
38
|
- 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
|
39
|
|
40
|
|
41
|
- 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
|
42
|
|
43
|
|
44
|
|
45
|
|
46
|
|
47
|
|
48
|
- Diga porque os documentos são
não-válidos ?
|
49
|
|
50
|
|
51
|
|
52
|
|
53
|
|
54
|
- PCDATA - Parsed Character Data
- Elemento pode conter texto
- Não pode conter elementos
|
55
|
|
56
|
|
57
|
|
58
|
|
59
|
|
60
|
|
61
|
|
62
|
|
63
|
|
64
|
|
65
|
|
66
|
|
67
|
|
68
|
|
69
|
|
70
|
|
71
|
|
72
|
|
73
|
|
74
|
|
75
|
|
76
|
|
77
|
|
78
|
|
79
|
|
80
|
|
81
|
|
82
|
|
83
|
|
84
|
- 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
|
85
|
- 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
|
86
|
|
87
|
|
88
|
|
89
|
- 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
|
90
|
- 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
|
91
|
- 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
|
92
|
|
93
|
|
94
|
|
95
|
|
96
|
|
97
|
|
98
|
|
99
|
|
100
|
|
101
|
|
102
|
|
103
|
|
104
|
|
105
|
|
106
|
|
107
|
|
108
|
|