XML - Parte 1

Preview:

Citation preview

XML - Introdução

Prof. Aldo de Queiroz Jraldo.queiroz@uniderp.edu.br

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>jluiz@gmail.com</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>jluiz@gmail.com</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>jluiz@gmail.com</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>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

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

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:

Recommended