xml - parte 1
TRANSCRIPT
XML - Introdução
Prof. Aldo de Queiroz [email protected]
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/
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
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.
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.
XML Dimensão de Informação:
Conteúdo: XMLEstrutura: XML, DTD, XMLSchema
Dimensão de ApresentaçãoCSSXSL
Dimensão de processamento: ParsesAPIsDOM
XML – Estrutura e Conteúdo Um documento XML pode conter
Instruções de processamento <? ... ?>Comentários <!- - ... - ->Elementos (tags) e atributosReferência a entidades &ref;Seções CDATA
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
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.
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>[email protected]</email>
</NOME> não é a tag de término de<nome>, por isto não é bem formado.
XML – Documentos Bem Formados
3. Cada tag de abertura deve ter uma tag de fechamento correspondente:
<nome>Jorge Luiz <email>[email protected]</email>
A tag <nome> não possui término (</nome>), por isto é mal-formada.
XML – Documentos Bem Formados
4. Respeitar a hierarquia e o aninhamento de tags:
<nome>Jorge Luiz <email>[email protected]</nome> </email>
A tag <email> não pode encerrar-se depois da tag <nome>, por isto é mal-formada.
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>[email protected]</email>
</pessoa><pessoa id="2">
<nome>Ana Paula</nome><email>[email protected]</email>
</pessoa></agenda>
A tag <agenda> é a raiz do documento
XML – Documentos Bem Formados6. Preferencialmente, o nome do arquivo XML
deve ser o nome do elemento raiz:
<agenda><pessoa id="1">
<nome>Jorge Luiz</nome><email>[email protected]</email>
</pessoa><pessoa id="2">
<nome>Ana Paula</nome><email>[email protected]</email>
</pessoa></agenda>
Salve o documento com o nome de agenda.xml
XML – Documentos Bem Formados W3C recomenda que os aplicativos que
utilizam XML não tentem corrigir erros de formação como acontece com HTML.
Exercício 1Faç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>
Exercício 2Faç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>
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
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
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"?>
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"?>
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
XML – Parsers, APIs, DOMParsers
processam documentos XML sequencialmente gerando um outro documento em formato diferente
APIsgeram eventos para aplicações
DOMgera uma árvore percorrida pela aplicação
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>
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)>
XML - ExemploExemplo 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>
XML - ExemploExemplo 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>
XML - ExemploExemplo 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>
XML - ExemploApresentação no Browser do XML com XSL: