29
XML - Introdução Prof. Aldo de Queiroz Jr [email protected]. br

XML - Parte 1

Embed Size (px)

Citation preview

Page 1: XML - Parte 1

XML - Introdução

Prof. Aldo de Queiroz [email protected]

Page 2: XML - Parte 1

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/

Page 3: XML - Parte 1

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

Page 4: XML - Parte 1

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.

Page 5: XML - Parte 1

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.

Page 6: XML - Parte 1

XML Dimensão de Informação:

Conteúdo: XMLEstrutura: XML, DTD, XMLSchema

Dimensão de ApresentaçãoCSSXSL

Dimensão de processamento: ParsesAPIsDOM

Page 7: XML - Parte 1

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

Page 8: XML - Parte 1

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

Page 9: XML - Parte 1

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.

Page 10: XML - Parte 1

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.

Page 11: XML - Parte 1

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.

Page 12: XML - Parte 1

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.

Page 13: XML - Parte 1

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

Page 14: XML - Parte 1

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

Page 15: XML - Parte 1

XML – Documentos Bem Formados W3C recomenda que os aplicativos que

utilizam XML não tentem corrigir erros de formação como acontece com HTML.

Page 16: XML - Parte 1

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>

Page 17: XML - Parte 1

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> 

Page 18: XML - Parte 1

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

Page 19: XML - Parte 1

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

Page 20: XML - Parte 1

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"?>

Page 21: XML - Parte 1

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"?>

Page 22: XML - Parte 1

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

Page 23: XML - Parte 1

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

Page 24: XML - Parte 1

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>

Page 25: XML - Parte 1

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)>

Page 26: XML - Parte 1

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>

Page 27: XML - Parte 1

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>

Page 28: XML - Parte 1

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>

Page 29: XML - Parte 1

XML - ExemploApresentação no Browser do XML com XSL: