28
Curso de Sistemas de Informação Tópicos Especiais III XML (Extensible Markup Language) Março de 2004.

Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

  • Upload
    lamdien

  • View
    256

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

Curso de Sistemas de Informação

Tópicos Especiais III XML (Extensible Markup Language)

��������������� ����������

Março de 2004.

Page 2: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

Capítulo 1 Objetivo da disciplina

Habilitar o aluno a projetar e desenvolver documentos para a Internet

baseados

em um padrão de troca de informações entre sistemas heterogêneos. Introdução

Até recentemente, a tecnologia de informação visava, principalmente,

melhorar os processos internos nas organizações. As informações eram geradas e

processadas dentro dos limites da empresa.

Atualmente, as evoluções tecnológicas e nos negócios faz com que as

informações relevantes às organizações sejam geradas e processadas tanto

dentro como fora das organizações. Empregados que realizem vendas fora da

empresa podem utilizar tecnologias WAP. Clientes podem realizar compras

através da Web, em sites de comércio eletrônico. Empresas parceiras podem

trocar informações a respeito de estoques e produtos, através de sistemas

informatizados.

Figura 1 - Geração e tratamento das informações até recentemente

Page 3: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

Conceitos como Gerenciamento do Conhecimento (Knowledge Management)

e Gerenciamento do Relacionamento com o Cliente (CRM – Customer

Relationship Management) visam obter informações gerenciais relevantes dos

dados que a empresa possui, levando em conta suas diferentes origens e

significados.

Figura 2 - Geração e tratamento das informações atualmente

As diferenças entre os tipos de sistemas envolvidos na geração e

processamento das informações dificultam as interações entre os mesmos.

Linguagens de Marcação

Em 1960, pesquisadores da IBM enfrentaram o problema de construir um

sistema poderoso e portátil para o intercambio e a manipulação de documentos

legais. Os diferentes tipos de arquivos com que se trabalhava tornava difícil a

comunicação entre os computadores. Percebeu-se, então, que a comunicação

seria facilitada pela existência de um formato comum, independente de sistema.

Vendedores

CRM

Empresas Parceiras Gerenciamento

do Conhecimento

����������Vendas

Processamento de Transações

� ��������

Page 4: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

Decidiu-se, portanto, pela utilização de uma linguagem de marcação,

compatível entre muitas plataformas. A linguagem protótipo baseava-se na

marcação dos elementos estruturais do documento, em vez de formatar e exibir

um documento pronto. A formatação da informação seria mantida em arquivos

separados, chamados folhas de estilo, com os quais os computadores poderiam

formatar e exibir um documento pronto. Desta maneira, o processamento dos

documentos passou a ser diferente, pois percebeu-se que só poderiam ser

processados de maneira confiável aqueles que obedecessem a um padrão, de

modo que o sistema fosse capaz de reconhecer os documentos válidos e rejeitar

os inválidos (com falta de informações ou informações a mais). Assim, a estrutura

esperada para cada tipo de documento era definida em um arquivo separado

denominado definição de tipo de documento (DTD).

Por volta de 1969, a equipe desenvolveu uma linguagem com todas essas

possibilidades e a chamaram de Generalized Markup Language (GML).

Em 1974, provou-se que um analisador sintático (parser) poderia validar

um documento sem efetivamente processa-lo. Continuando-se os

desenvolvimentos adicionais, chegou-se, em 1986, na adoção da Standard

Generalized Markup Language (SGML) como padrão internacional. Esta

linguagem tornou-se rapidamente o padrão de negócios para o armazenamento e

intercâmbio de dados em todo mundo.

Com o advento da Web, em certo momento as limitações da HTML tornaram-

se visíveis, devido à sua falta de extensibilidade. Os fornecedores de

navegadores, na tentativa de ganhar mercado, começaram a criar comandos

específicos de formatação.

Para o W3C, esta atitude poderia vir a ameaçar a interoperabilidade e a

escalabilidade da Web, e buscou-se, então, uma reação. Foram criadas, assim, as

Cascade Style Sheets (CSS), uma tecnologia de folhas de estilo, que poderia ser

Page 5: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

usada no lugar da marcação de propriedade dos fornecedores. Esta tecnologia,

entretanto, mostrava-se extensivelmente limitada.

World Wide Web Consortium (W3C)

Fundado em 1994, o W3C (http://www.w3c.org) é um consórcio que

destina-se ao desenvolvimento de tecnologias interoperantes, de domínio público,

para a World Wide Web, e uma de suas principais metas é tornar a Web

universalmente acessível.

O W3C é, ainda, uma organização de padronização, e as tecnologias Web

por este padronizadas são chamadas “Recomendações”, e estas não são

produtos reais de software, mas sim documentos que especificam o papel, a

sintaxe, as regras de uma tecnologia. Entre as recomendações atualmente em

uso, feitas pelo W3C, pode-se citar a HyperText Markup Language (HTML), a

Cascading Style Sheet (CSS) e a Extensible Markup Language (XML).

Assim surgiu a Extensible Markup Language (XML), combinando potência e

extensibilidade herdadas da SGML e a simplicidade exigida pela comunidade

Web. Enquanto o HTML é legível apenas pelas pessoas, os documentos XML

podem ser lidos pelas pessoas e manipuláveis pelos computadores.

XML é uma linguagem que descreve documentos estruturados e dados e

vem se tornando um novo padrão de troca e publicação de dados e integração

entre aplicações.

O XML torna os documentos estruturados disponíveis para processamento

automático, e é baseado na separação do conteúdo, descrição da estrutura e

apresentação.

Page 6: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

Embora tenha muitos recursos avançados, a linguagem XML é acessível a

todos os níveis de programadores por causa de sua inerente simplicidade.

- É baseada em texto, portanto um documento pode ser criado com

as ferramentas de texto mais simples;

- Não se limita, entretanto, a descrever elementos textuais. Pode

descrever imagens, gráficos vetoriais, animações ou qualquer outro

tipo de dado para o qual seja estendida;

- É um padrão aberto, possibilitando ao desenvolvedor a escolha de

ferramentas que melhor se ajustem às suas necessidades,

independente da plataforma;

Devido a esta característica de extensibilidade e flexibilidade, diversas são as

áreas em que a linguagem XML está sendo adotada.

XML é recomendação W3C desde 1998. Atualmente na 2a. edição da versão

1.0 de 6/10/2000 (http://www.w3c.org/XML).

HTML x XML

Uma breve comparação pode ser feita entre o HTML e o XML.

A linguagem HTML consiste em comandos de formatação para apresentação

de texto e imagens em navegadores Web. Outras mídias podem ser exibidas por

componentes adicionais chamados plug-ins.

XML é um formato de dados auto-descritivos que contém, além dos dados,

os nomes e descrição de estruturas dos campos de dados. A linguagem não

contém marcações (tags) para formatação, mantendo as informações sobre o

conteúdo, descrição estrutural, e apresentação separadas.

As tags em um documento XML são diferentes das tags utilizadas na

apresentação nos navegadores, e por isso a apresentação dos documentos XML

em navegadores é de baixa qualidade.

Page 7: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

Figura 3 - Arquivo HTML apresentado no navegador e seu código-fonte

Figura 4 - Arquivo XML apresentado no navegador e seu código-fonte

Page 8: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

Conforme citado anteriormente, pode-se perceber a baixa qualidade de

apresentação do documento XML em um navegador. A não existência de tags de

apresentação, faz com que os dados sejam apresentados conforme sua estrutura.

O XML possui, entretanto, algumas características que o tornam um formato

de dados que pode ser utilizado em todos os tipos de cenários de aplicação:

A criação e processamento dos documentos XML é bastante simples, e estes

podem ser facilmente lidos por humanos e processados pelas máquinas.

Além dos dados, um documento XML contém a descrição destes. A

implementação das aplicações pode ser independente da estrutura específica dos

dados. Isto quer dizer que diferentes tipos de aplicações podem ser

implementadas utilizando apenas os dados que lhes são úteis. Além disso, a

extensão na estrutura dos documentos XML, através da criação de novos

elementos, não prejudica em nada as aplicações já existentes que utilizavam tal

documento.

As Aplicações podem responder de maneira diferente aos dados. Não é

necessária a adaptação de uma aplicação quando são inseridos novos elementos

de dados, se os mesmos não forem relevantes para esta. Além disso, a estrutura

aberta do XML permite que novos elementos sejam adicionados a qualquer

momento.

Quanto à utilização do XML, pode-se citar algumas aplicações:

Publicação – A separação entre o conteúdo e a apresentação, possibilita

que o mesmo documento XML possa ser apresentado de diferentes formas,

através da utilização de diferentes folhas de estilo.

Page 9: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

Figura 5 - Apresentação HTML x XML

SVG (Scalable Vector Graphics) – é um formato para representação de gráficos.

XHTML – reformulação do HTML, conforme a sintaxe do XML.

XForms – para o desenvolvimento de aplicações baseadas em formulários.

WML (Wireless Markup Language) – originalmente desenvolvida para Protocolo

de Acesso Sem Fio (WAP). WML 2 contém elementos da XHTML.

VoiceXML – é uma das bases para o desenvolvimento de aplicações controladas

por voz.

SMIL (Synchronized Multimedia Integration Language) – utilizada no

desenvolvimento de apresentações audiovisuais interativas.

Page 10: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

Troca de Dados – devido à sua simplicidade e flexibilidade de estrutura, o XML é

bastante indicado para a troca de dados entre organizações;

Web Services – são aplicações na Internet que provêm funcionalidades que

podem ser acessadas por outros sistemas.

Page 11: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

Capítulo 2 Sintaxe do XML

Neste capítulo serão apresentados os diferentes componentes da estrutura

de um documento XML.

Estrutura do Documento XML

Os documentos XML contêm informações na forma de texto que

compreendem as marcações e o conteúdo.

As marcações descrevem os dados e são caracterizadas pelos sinas “<” e

“>”.

Um documento XML pode conter:

– Instruções de processamento <? ... ?>

– Comentários <!- - ... - ->

– Referência a entidades &ref;

– Seções CDATA

– Elementos e atributos (tags)

Considerando-se um simples documento XML (intro.xml) que marca uma

mensagem como XML (Figura 2.1).

Os documentos são geralmente armazenados em arquivos de texto que

terminam com a extensão .xml, embora isso não seja um requisito da XML.

Qualquer editor de texto pode ser utilizado para criar um documento XML. Muitos

pacotes de software também permitem que os dados sejam armazenados como

documentos XML.

Page 12: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

Figura 6 - Documento simples XML contendo uma mensagem

Todos os documentos XML devem conter um elemento raiz (myMessage no

exemplo). O elemento raiz contém outros elementos. As linhas que precedem o

elemento raiz representam o prólogo do documento XML. O elemento message,

no exemplo, é chamado de elemento filho do elemento nyMessage porque está

aninhado dentro deste elemento. O elemento filho contém o texto Welcome to

XML!.

É necessário tomar cuidado para que não seja criado mais do que um

elemento raiz em um documento XML.

O aninhamento deve ser feito de forma adequada. Por exemplo,

<x><y>hello</x></y> é um erro, uma vez que o elemento aninhado y deve

terminar antes do elemento x.

Prólogo e Encoding

O prólogo é a parte introdutória de um documento XML, precedendo o

primeiro elemento, e contém, tipicamente, a versão da XML para a qual o

documento foi criado. O prólogo é representado na forma de instruções de

processamento.

<?xml version = “1.0”?>

Embora a declaração de XML seja opcional, ela deve ser usada para

identificar a versão da XML do documento. Caso contrário, no futuro, é possível

Page 13: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

que seja assumido que um documento sem uma declaração de versão XML

obedece à ultima versão da XML, o que pode vir a ocasionar problemas.

Uma declaração adicional de encoding pode especificar o conjunto de

caracteres que é utilizado no documento. O conjunto de caracteres consiste nos

caracteres que podem ser representados em um documento. Por exemplo, o

conjunto de caracteres ASCII (American Standard Code for Information

Interchange) contém as letras do alfabeto, os números de 0-9 e os caracteres de

pontuação, como !, -, e ?.

<?xml version = “1.0” encoding=“ISO-8859-1”?>

Os documentos XML podem conter os caracteres de retorno de carro

(carriage return), avanços de linha (line feed) e caracteres Unicode. O Unicode é

o padrão do Unicode Consortium. Seu objetivo é possibilitar que os computadores

processem os caracteres das principais línguas do mundo (www.unicode.org).

Os documentos XML contêm dados de caracteres e texto de marcação. O

texto de marcação vem entre os sinais de menor que (<) e maior que (>). Os

dados de caracteres representam o texto entre uma marca de abertura e uma

marca de finalização.

Para garantir a internacionalização, os documentos XML devem ser

codificados no Unicode (UTF-x, UCS-x, etc.).

Elementos e Atributos

O conteúdo de um documento XML está representado na forma de seus

elementos e atributos.

Elementos são a mais comum forma de marcação. Delimitados pelos sinais

de menor e maior (< e >), a maioria dos elementos identificam a natureza do

conteúdo que envolvem, começando com uma marcação de inicio <elemento> e

uma de fim </elemento>, com seu conteúdo entre estes.

Page 14: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

Os elementos sem conteúdo, chamados de vazios, são representados por

<elemento></elemento>. Tais elementos ainda podem ser representados através

de uma sintaxe modificada, que utiliza o final /> para isto. Assim, um programa

que processa o documento XML não precisa procurar pela marcação de fim do

elemento. Desta forma, pode-se representar um elemento vazio por <elemento/>.

Os nomes dos elementos não podem conter caracteres especiais nem

espaços, e devem começar por letras ou “_”.

Atributos são pares de valores nomeados que ocorrem dentro das marcas de

início, após o nome do elemento. Por exemplo:

<elemento classe="prefácio">

A linha acima representa um elemento chamado “elemento” cujo atributo classe

possui o valor prefácio. Em um documento XML, todos os valores de atributos

devem estar entre aspas ou apóstrofes.

Os atributos descrevem elementos. Um elemento pode ter zero, um ou mais

atributos a ele associados.

Os nomes de elementos e atributos em XML podem ter qualquer comprimento e

podem conter letras, dígitos, sublinhados, hífens e pontos, mas devem começar

por uma letra ou um sublinhado e não podem conter espaços.

Page 15: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

Figura 7 - Documento XML que representa um livro (Fonte: Deitel et. al., 2001)

A primeira linha do documento XML representado na Figura 7

(<?xml:stylesheet type = "text/xsl" href = "usage.xsl"?>) é exemplo de uma

instrução de processamento (PI). A informação contida em uma PI é passada para

a aplicação que está usando o documento XML e fornece informações adicionais

específicas da aplicação sobre o documento. As instruções de processamento são

delimitadas por <? e ?>. Este valor PI faz referência a uma folha de estilo XSL,

conforme indicado pelo alvo PI xml:stylesheet, cujo valor é type=”text/xsl”

href=”usage.xsl”. O funcionamento deste tipo de instrução será explicado

posteriormente, no capítulo 7.

Seções CDATA

Uma vez que o caractere “<” denota o início de uma marcação, não poderia

ser utilizado no conteúdo de um elemento. As seções CDATA são seções de um

documento XML que podem conter texto, caracteres reservados (por exemplo, <)

e caracteres espaços em branco. Os caracteres contidos nas seções CDATA são

excluídos da interpretação.

Page 16: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

Um uso comum das seções CDATA é o código de criação de scripts

(Javascript ou VBScript), que freqüentemente contêm os caracteres &, <, >, ` e “.

Figura 8 - Usando uma seção CDATA

O exemplo representado na Figura 6 apresenta dois elementos sample. O

primeiro dos elementos representa os dados de maneira convencional, e o

segundo representa o mesmo conteúdo utilizando-se uma seção CDATA. A

diferença que se pode notar é que no segundo caso não é necessário que se faça

a substituição dos caracteres <, > e &.

Figura 9 - Usando seção CDATA (navegador)

Page 17: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

A Figura 9 demonstra a apresentação em um navegador de um documento

XML que contém uma seção CDATA. Conforme pode-se perceber pelo código-

fonte na Figura 8, é possível a utilização dos caracteres reservados (como é o

caso de < e &), sem que o processamento do documento seja prejudicado, uma

vez que o conteúdo de uma seção CDATA é ignorado no processamento.

Esta característica faz com que as seções CDATA sejam adequadas para,

por exemplo, o armazenamento de trechos de código em linguagens de

programação.

Page 18: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

Exercícios

1. Explique para que servem as marcações em um documento HTML e em um documento XML, identificando suas principais diferenças:

2. Explique como é feita a apresentação de documentos XML, em comparação com o que acontece nos documentos HTML:

3. Identifique o significado das seguintes marcações e sua utilização em documentos XML:

a. ��������� b. ������������� c. ������������

4. Explique a diferença entre elemento e atributo, e a forma de representá-los: 5. Explique para que servem as seções CDATA: 6. Explique a razão de a linguagem XML ser largamente utilizada para troca

de informações:

Page 19: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

Capítulo 3 � Documentos XML Bem Formados

Uma vez que a XML, como o próprio nome sugere, é uma linguagem, está

sujeita a certas regras, 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.

Um documento XML é considerado bem-formado se ele estiver

sintaticamente correto. A sintaxe da XML requer um único elemento como nó

raiz, uma tag de abertura e finalização para cada elemento, tags corretamente

aninhadas e valores de atributos entre aspas. Além disso, a XML faz diferença

entre maiúsculas e minúsculas, de modo que as maiúsculas devem ser

grafadas corretamente nos nomes de elementos e atributos. Os documentos que

atendem a estes requisitos de sintaxe são, portanto, documentos bem-formados.

Explicando de forma mais clara as regras que um documento XML deve

atender para ser considerado bem-formado:

1. Possuir um elemento raiz (root) que contém todos os outros:

<books> <book> <title>XML Como Programar</nome> <publisher>Bookman</publisher> </book> <book> <nome>Learning XML</nome> </book> <books>

A tag <books> é a raiz do documento.

Page 20: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

2. Cada tag de abertura deve ter uma tag de fechamento correspondente:

3. Respeitar a hierarquia e o aninhamento das tags:

4. Os valores de atributos devem estar entre aspas ou apóstrofes:

<books> <book> <title>XML Como Programar <publisher>Bookman</publisher> </book> <books> A tag <title> não possui fechamento (</title>), por isto o documento é mal-formado.

<books> <book>

<title>XML Como Programar <publisher>Bookman</title> </publisher> </book> <books> A tag <publisher> não pode encerrar-se depois da tag <title>, por isto o documento é mal-formado.

<books> <book code=10>

<title>XML Como Programar <publisher>Bookman</title> </publisher> </book> <books> O valor do atributo code não contém aspas nem apóstrofes, o que torna o documento mal-formado.

Page 21: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

5. Existe diferença entre maiúsculas e minúsculas (case-sensitive):

Existem softwares que são chamados de analisadores sintáticos (parsers),

que lêem os documentos, verificando sua sintaxe e relatando possíveis erros,

permitindo, via programa, acesso ao conteúdo dos documentos.

Caracteres Reservados

Existem caracteres que, por serem reservados, não podem ser utilizados em

documentos XML. A linguagem XML oferece substitutos para estes casos. Tais

substitutos começam por “&” e terminam por “;” (referência a entidade).

Os caracteres reservados para a linguagem XML e suas referências são:

Para caracteres especiais que não possam ser inseridos utilizando-se o

teclado, o código direto do caractere pode ser utilizado, de acordo com a tabela

empregada.

A Tabela 1 apresenta alguns dos caracteres especiais utilizados nos

documentos XML, e suas respectivas referências.

< &lt; > &gt; & &amp; ‘ &apos; “ &quot;

<books> <book code=10>

<title>XML Como Programar <publisher>Bookman</title> </publisher> </Book> <books> A tag de fechamento </Book> possui um caractere em maiúsculo, e a de abertura (<book>) não, tornando o documento mal-formado.

Page 22: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

Uma lista completa das referências a entidades pode ser obtida no site do W3C em:

http://www.w3.org/TR/REC-html40/sgml/entities.html

Tabela 1 - Algumas Referências de Entidades

Caractere Referência Caractere Referência Espaço &#160; ê &#234;

§ &#167; ì &#236; © &#169; í &#237; ® &#174; î &#238; ¼ &#188; ñ &#241; ½ &#189; ò &#242; ¾ &#190; ó &#243; À &#224; ô &#244; á &#225; õ &#245; â &#226; ÷ &#247; ã &#227; ù &#249; å &#229; ú &#250; ç &#231; û &#251; è &#232; • &#8226; é &#233; ™ &#8482;

O exemplo representado na Figura 8 demonstra a utilização de referências

de entidades, apresentando o caractere 1 em diferentes tabelas de caracteres.

Figura 10 - Exemplo da utilização de caracteres especiais

Comentários

Os comentários em um documento XML contêm informações e notas. As

marcações são <!-- para início, e --> para fim de comentário. Caracteres

reservados (<, >) podem estar contidos dentro de comentários.

Page 23: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

Figura 11 - Exemplo de utilização de comentários

Como se pode perceber na segunda linha de comentário existe um caractere

reservado <, mas a visualização do documento no navegador acontece de

maneira normal.

Assim como acontece nas linguagens de programação, os comentários em

documentos XML podem ser utilizados no sentido de prover maiores informações

para os desenvolvedores que os manipulam.

Marcação

O elemento de marcação XML, como já citado, consiste em uma marca de

abertura, no conteúdo e em uma marca de finalização. Diferentemente do HTML,

todas as marcas de abertura em XML devem ter uma marca de finalização. Por

exemplo,

<img src = “logo.gif”>

está correto em HTML, mas em XML a marca de finalização também deveria ser

fornecida, como em

<img src = “logo.gif”> </img>

Page 24: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

Como este elemento não cantem conteúdo (dados de caracteres), ele é chamado

de elemento vazio. A marca vazia pode ser escrita de forma mais concisa, como

<img src = “logo.gif”/>

que usa a barra ( / ) para indicar o término.

Conforme citado no capítulo 2, os elementos definem a estrutura, e podem ou nao

ter conteúdo (elementos filhos ouo dados de caracteres). Os atributos descrevem

elementos. Um elemento pode ter zero, um ou mais atributos a ele associados e

são colocados dentro da marca de abertura do elemento.

Os nomes de elementos e atributos em XML podem ter qualquer comprimento e

podem conter letras, dígitos, sublinhados, hífens e pontos, mas devem começar

com uma letra ou um sublinhado. Além disso, não podem conter espaços em

branco.

Assim, a marcação

<telefone residencial> </telefone residencial>

está errada, pois contém espaço em branco no nome do elemento, uma

alternativa seria, por exemplo, o uso do sublinhado

<telefone_residencial> </telefone_residencial>

Estrutura Lógica dos Documentos XML

Uma vez que os elementos, em um documento XML, estão organizados

hierarquicamente, um documento pode ser representado na forma de uma árvore

sem que haja a perda de nenhuma informação. Elementos filhos aparecem como

nós filhos de um elemento pai.

Os atributos não são considerados como nós filhos de um elemento, mas

como informações adicionais aos elementos.

Page 25: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

Figura 12 - Exemplo de estrutura de documento XML

Assim, tendo-se o documento de exemplo apresentado na Figura 9, pode-se

representá-lo na forma de uma árvore, conforme na Figura 10, pode-se visualizar

a sua estrutura lógica.

Figura 13 - Estrutura lógica de um documento XML

Page 26: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

A representação da estrutura lógica de um documento XML na forma de uma

árvore é apenas uma forma de se obter uma melhor visualização da maneira

como estão dispostos os elementos do documento e sua estrutura.

Page 27: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

Exercícios

1. Identifique e corrija o(s) erro(s) em cada um dos seguintes itens:

a) <my Tag>texto do elemento<my Tag>

b) <!PI value!> <!-- uma instrução de processamento simples -->

c) <myXML>trabalhando com XML!!</MyXML>.

d) <CDATA>aqui temos uma CDATA . </CDATA>

e) <xml> x<5 && x>y </xml> <!-- condição para um teste em Java -->

2. Faça uma análise do documento XML abaixo indicando onde e quais são

os erros de formação que existem:

a)

<?xml version=”1.0” encoding=UTF-8?> <MICRO>

<HD>Capacidade 20 Gb</Hd> <DISQUETE>Capacidade 1,44 Mb</MICRO> </DISQUETE>

b)

<xml version=”1.0” encoding=”ISO-8859-1”?> <curso>

<DISCIPLINA fase=“6”>Tópicos Especiais III <OBJETIVO>Ensinar XML</OBJETIVO> <METODOLOGIA>Laboratórios<metodologia> <professor>Rafael</Professor> </Curso>

3. Corrija os erros do documento do exercício 1.b. e adicione mais duas

disciplinas da 6ª fase ao documento.

4. Represente, na forma de uma árvore, a estrutura lógica do documento

obtido como resposta do exercício 3.

Page 28: Tópicos Especiais III XML (Extensible Markup Language)fernando.gauthier/EGC6006/material/Aula 2... · Cascade Style Sheets (CSS), ... XHTML – reformulação do HTML, ... uma vez

5. De posse das estruturas em forma de árvore abaixo, construa a estrutura

do documento XML correspondente.

a)