2. XML - Conceitos
XML - EXtensible Markup Language -
Linguagem de Marcação Extensível
Criada por um consórcio de empresas,
profissionais e instituições interessadas no
desenvolvimento da WWW: http://www.w3.org/xml
XML é recomendação W3C desde 1998.
Atualmente na versão 1.1 de 04/02/2004.
Disponível em http://www.w3.org/TR/xml11/
3. XML - Conceitos
É uma versão simplificada da SGML
(Standard Generalized Markup Language)
Capaz de descrever diversos tipos de
dados.
Seu propósito principal é a facilidade de
compartilhamento de informações através
da Internet.
Marcas identificam dados ou trechos de
um documento
4. XML – Características
Separação do conteúdo e da formatação;
Legibilidade tanto por humanos quanto por
máquinas;
Possibilidade de criação de elementos de
marcação tags sem limitação;
Criação de arquivos para validação de estrutura;
Com seu uso pode-se interligar bancos de
dados distintos;
Simplicidade;
XML separa a estrutura da informação de sua
apresentação.
5. HTML
HTML (HyperText Markup Language)
possui um conjunto limitado de tags que
são interpretados pelos navegadores.
O conteúdo é representado juntamente
com sua estrutura e forma de
apresentação especificada por meio das
tags.
O XML identifica facilmente as estruturas
mas não inclui orientações de
apresentação (formatação) do conteúdo.
6. XML
Dimensão de Informação:
Conteúdo: XML
Estrutura: XML, DTD, XMLSchema
Dimensão de Apresentação
CSS
XSL
Dimensão de processamento:
Parses
APIs
DOM
7. XML – Estrutura e Conteúdo
Um documento XML pode conter
Instruções de processamento <? ... ?>
Comentários <!- - ... - ->
Elementos (tags) e atributos
Referência a entidades &ref;
Seções CDATA
8. XML – Documentos Bem Formados
Uma linguagem impõe regras que indicam
como escrever um documento bem formado.
Essas regras são chamadas de sintaxe.
A observação dessas regras é fundamental para
que um navegador consiga interpretar o código
XML
9. XML – Documentos Bem Formados
1. Documento XML sempre inicia com uma
instrução de processamento indicando a
versão e o conjunto de caracteres:
<?xml version="1.0" encoding="ISO-8859-1"?>
Existem vários conjuntos de caracteres: Unicode,
ISO-10646, UTF-8, UTF-16.
10. XML – Documentos Bem Formados
2. As tags XML são sensíveis ao caso, ou seja,
<tipo> é diferente de <Tipo> e de <TIPO>:
<nome>Jorge Luiz</NOME>
<email>jluiz@gmail.com</email>
</NOME> não é a tag de término de
<nome>, por isto não é bem formado.
11. XML – Documentos Bem Formados
3. Cada tag de abertura deve ter uma
tag de fechamento correspondente:
<nome>Jorge Luiz
<email>jluiz@gmail.com</email>
A tag <nome> não possui término (</nome>),
por isto é mal-formada.
12. XML – Documentos Bem Formados
4. Respeitar a hierarquia e o aninhamento
de tags:
<nome>Jorge Luiz
<email>jluiz@gmail.com</nome>
</email>
A tag <email> não pode encerrar-se depois
da tag <nome>, por isto é mal-formada.
13. XML – Documentos Bem Formados
5. Possui um elemento raiz (root) que
contém todos os outros:
<agenda>
<pessoa id="1">
<nome>Jorge Luiz</nome>
<email>jluiz@gmail.com</email>
</pessoa>
<pessoa id="2">
<nome>Ana Paula</nome>
<email>apaula@gmail.com</email>
</pessoa>
</agenda>
A tag <agenda> é a raiz do documento
14. XML – Documentos Bem Formados
6. Preferencialmente, o nome do arquivo XML
deve ser o nome do elemento raiz:
<agenda>
<pessoa id="1">
<nome>Jorge Luiz</nome>
<email>jluiz@gmail.com</email>
</pessoa>
<pessoa id="2">
<nome>Ana Paula</nome>
<email>apaula@gmail.com</email>
</pessoa>
</agenda>
Salve o documento com o nome de agenda.xml
15. XML – Documentos Bem Formados
W3C recomenda que os aplicativos que
utilizam XML não tentem corrigir erros
de formação como acontece com
HTML.
16. Exercício 1
Faça uma análise do documento XML
abaixo indicando onde e quais são os
erros de formação que existem:
<?xml version=”1.0” encoding="ISO-8859-1"?
>
<MICRO>
<HD>Capacidade 20 Gb</Hd>
<DISQUETE>Capacidade 1,44 Mb</MICRO>
</DISQUETE>
17. Exercício 2
Faça uma análise do documento XML
abaixo indicando onde e quais são os
erros de formação que existem:
<xml version=”1.0” encoding="ISO-8859-1"?>
<CURSO>
<DISCIPLINA sem=“4”>Linguagem IV
<OBJETIVO>Ensinar XML</OBJETIVO>
<METODOLOGIA>Laboratórios<metodologia>
<avaliação>3 provas</avaliacao>
</CURSO>
18. XML – Documentos Válidos
(estrutura+semântica)
Algumas vezes, além de bem formados, o
documento XML também precisa ser
válido.
Ou seja, deve estar de acordo com uma
definição de estrutura previamente
estabelecida
Para indicar a estrutura de um documento
pode ser usado o DTD (Document Type
Definition) ou XMLSchema
19. XML – Documentos Válidos
(estrutura+semântica)
Por exemplo, o arquivo agenda.xml
pode ter sua estrutura definida pelo
arquivo agenda.dtd.
Neste caso, além de ser bem
formado, o documento XML deve
obedecer as especificações definidas
pelo DTD
20. XML – Apresentação
Uma pequena alteração no arquivo XML
permite que o conteúdo seja apresentado
em um navegador
Faz-se uma referência a um arquivo CSS
(agenda.css) com orientações de
formatação:
<?xml-stylesheet type="text/css" href="agenda.css"?>
21. XML – Apresentação
Outra forma de apresentar conteúdos XML
é através de XSL
XSL - XML Stylesheeet Language
<?xml-stylesheet type="text/xsl" href="agenda.xsl"?>
22. XML – Parsers, APIs, DOM
Documentos XML podem ser processados
e gerados por outras aplicações, para isto,
o W3C criou interfaces para facilitar o
intercâmbio e a criação de documentos
XML
23. XML – Parsers, APIs, DOM
Parsers
processam documentos XML
sequencialmente gerando um outro
documento em formato diferente
APIs
geram eventos para aplicações
DOM
gera uma árvore percorrida pela aplicação
24. XML - Exemplo
Exemplo de documento XML – agenda.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<agenda>
<nota>
<para>Paulo</para>
<de>Maria</de>
<assunto>Lembrete</assunto>
<texto>Não esqueça da reunião</texto>
</nota>
</agenda>
25. XML - Exemplo
Exemplo de documento DTD – agenda.dtd:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!ELEMENT agenda (nota+)>
<!ELEMENT nota (para,de,assunto,texto)>
<!ELEMENT para (#PCDATA)>
<!ELEMENT de (#PCDATA)>
<!ELEMENT assunto (#PCDATA)>
<!ELEMENT texto (#PCDATA)>
26. XML - Exemplo
Exemplo de documento XML com DTD externo:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE agenda SYSTEM "agenda.dtd">
<agenda>
<nota>
<para>Paulo</para>
<de>Maria</de>
<assunto>Lembrete</assunto>
<texto>Não esqueça da reunião</texto>
</nota>
</agenda>
27. XML - Exemplo
Exemplo de documento XSL para apresentação:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform“>
<xsl:template match="agenda">
<html>
<title>Agenda de Compromissos</title>
<h1>Agenda de Compromissos</h1>
<xsl:apply-templates/>
</html>
</xsl:template>
<xsl:template match="nota">
<hr/>
<xsl:apply-templates/>
<p/>
</xsl:template>
...
</xsl:template>
<xsl:template match="text()">
<xsl:value-of select="."/>
</xsl:template>
</xsl:stylesheet>
28. XML - Exemplo
Exemplo de documento XML com XSL:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="agenda.xsl"?>
<!DOCTYPE agenda SYSTEM "agenda.dtd">
<agenda>
<nota>
<para>Paulo</para>
<de>Maria</de>
<assunto>Lembrete</assunto>
<texto>Não esqueça da reunião</texto>
</nota>
</agenda>