Você está na página 1de 15

Instituto Superior de Entre Douro e Vouga

Tecnologias da Informação e da Comunicação│2011/2012

Tecnologia de Internet

Trabalho realizado por:

Liliana João Monteiro da Costa

Santa Maria da Feira, 25 Novembro de 2011


4- Tecnologias de Internet XML

ÍNDICE

1. HTML versus XML …………………………………………………... 2

2. Regras de Construção………………………………………. 3

2.1 Regras de Sintaxe…………………………………………… 3

2.2 Secções CDATA……………………………………………. 6

2.3 Esquema DTD………………………………………………. 7

2.4 Esquema XML Schema……………………………………. 8

3. Modelos de Processamento ………………………………………. 11

3.1 SAX……………………………………………………………. 11

3.2 O DOM………………………………………………………... 11

4. Conclusão……………………………………………………………. 13

5. Bibliografia…………………………………………………………… 14

Liliana Costa 3722 ISVOUGA Página 1 de 14


4- Tecnologias de Internet XML

1. HTML Versus XML

HTML e XML são primos. Eles derivam da mesma inspiração, o SGML. Ambos
identificam elementos em uma página e ambos utilizam sintaxes similares. Se você é
familiar com HTML, também o será com o XML. A grande diferença entre HTML e XML
é que o HTML descreve a aparência e a ações em uma página na rede enquanto o
XML não descreve nem aparência e ações, mas sim o que cada trecho de dados é ou
representa. Em outras palavras, o XML descreve o conteúdo do documento.

Como o HTML, o XML também faz uso de tags (palavras encapsuladas por sinais '<' e
'>') e atributos (definidos com name="value"), mas enquanto o HTML especifica cada
sentido para as tags e atributos (e frequentemente a maneira pela qual o texto entre
eles será exibido em um navegador), o XML usa as tags somente para delimitar
trechos de dados, e deixa a interpretação do dado a ser realizada completamente para
a aplicação que o está lendo. Resumindo, enquanto em um documento HTML uma tag
<p> indica um parágrafo, no XML essa tag pode indicar um preço, um parâmetro, uma
pessoa, ou qualquer outra coisa que se possa imaginar (inclusive algo que não tenha
nada a ver com um p como por exemplo autores de livros).

Os arquivos XML são arquivos texto, mas não são tão destinados à leitura por um ser
humano como o HTML é. Os documentos XML são arquivos texto porque facilitam que
os programadores ou desenvolvedores "debuguem" mais facilmente as aplicações, de
forma que um simples editor de textos pode ser usado para corrigir um erro em um
arquivo XML. Mas as regras de formatação para documentos XML são muito mais
rígidas do que para documentos HTML. Uma tag esquecida ou um atributo sem aspas
torna o documento inutilizável, enquanto, que no HTML isso é tolerado. As
especificações oficiais do XML determinam que as aplicações não podem tentar
adivinhar o que está errado em um arquivo (no HTML isso acontece), mas sim devem
parar de interpretá-lo e reportar o erro.

O XML tem os seguintes usos:

Separar dados do HTML;


Simplificar o compartilhamento de dados;

Liliana Costa 3722 ISVOUGA Página 2 de 14


4- Tecnologias de Internet XML

Simplificar a transferência de dados;


Simplificar a mudança de plataforma;
Ser a base para criação de novas linguagens

2. REGRAS DE CONSTRUÇÃO

As regras de construção englobam os seguintes itens: sintaxe, secções CDATA,


esquema DTD e XML schema.

2.1 REGRAS DE SINTAXE

As regras de sintaxe da XML são bastante simples, mas devem ser seguidas
rigorosamente pelos interpretadores. Deste modo, estes programas podem ser menos
complexos, evitando situações de interpretação ambígua. Sendo uma linguagem
baseada em etiquetas, os documentos em XML têm que respeitar rigorosamente as
regras de construção de elementos e atributos.

Exemplo:

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

<mensagem>

<de>Liliana Costa</de>

<para>Nuno Peixoto</para>

<assunto>Entrega de Trabalho Prático</assunto>

</mensagem>

Utilizando o exemplo acima descrito, podemos analisar as principais regras de


construção de documentos XML.

 O documento inicia-se com a declaração XML (pode surgir opcionalmente no


início do documento), seguindo-se o início do elemento raiz do documento, que
se chama mensagem.

Liliana Costa 3722 ISVOUGA Página 3 de 14


4- Tecnologias de Internet XML

 As três linhas seguintes contêm três elementos filhos de mensagem (de, para e
assunto). Cada um destes elementos poderia ter outros sub-elementos e assim
sucessivamente.
 O documento termina com o fecho do elemento raiz.

Declaração XML pode surgir opcionalmente no início do documento. Esta declaração


define a versão da XML e a codificação de caracteres utilizada. No exemplo, a versão é
a 1.0 e o código de caracteres é o ISO-8859-1 (Latin-1/W est European).

A declaração XML faz parte da estrutura do documento, mas não é um elemento,


sendo que para diferenciar, a sintaxe da declaração utiliza —<? ... ?>“ em vez de
“<...>“. Uma outra diferença é que a declaração não tem uma etiqueta de fecho
correspondente. O código de caracteres utilizado define a maneira como os diferentes
caracteres que compõem o documento XML são representados no ficheiro. Caso sejam
utilizados caracteres fora do código definido, o interpretador gera um erro ao ler o
ficheiro. Alguns valores frequentes para esta definição são —UTF-8“, —UTF-16“
(correspondentes a Transformações Unicode).- Os documentos XML têm que ter um
elemento raiz, e esse elemento tem que ser único. Os restantes elementos têm que
estar dentro do elemento raiz. Todos os elementos podem ter sub-elementos
(elementos filhos):

<raiz>

<filho>

<neto>...</neto>

</filho>

</raiz >

Todos os elementos de um documento têm que conter o fecho das etiquetas


respectivas:

<x>Incorrecto

<x>Correcto</x>-

Liliana Costa 3722 ISVOUGA Página 4 de 14


4- Tecnologias de Internet XML

Os elementos estão correctamente ordenados quando as etiquetas abrem e fechamem


sequências inversas:

<x><y>Incorrecto</x></y>

<x><y>Correcto</y></x>

No primeiro exemplo: abrir x, abrir y, fechar x, fechar y œ> Incorrecto.


No segundo exemplo: abrir x, abrir y, fechar y, fechar x œ> Correcto.
Os sub-elementos têm que estar correctamente ordenados dentro do seu elemento pai.

As etiquetas XML diferenciam entre maiúsculas e minúsculas (são case-sensitive):

<Mensagem>Errado</mensagem>
<mensagem>Correcto </mensagem>
<Mensagem>Correcto </Mensagem>

O primeiro exemplo é incorrecto porque a etiqueta de abertura não corresponde à


etiqueta de fecho (diferem na primeira letra), o que já não acontece nos dois outros
exemplos.

Os valores dos atributos têm que estar envolvidos em aspas:

<mensagem numero="13">

O XML preserva o espaço branco (espaços, mudanças de linha, tabulações, etc).


Este espaço não é reduzido a um único carácter
.
A sintaxe para escrever comentários em documentos XML é a seguinte:
<!-- Comentário -->

Se um documento respeitar todas estas regras de construção, diz-se bem-formado


(well-formed) e pode ser utilizado por qualquer interpretador XML. Além de bem-
formado, um documento pode ser também válido. Um elemento diz-se válido se é bem
formado e respeita uma gramática definida por DTD ou XML Schema.

Liliana Costa 3722 ISVOUGA Página 5 de 14


4- Tecnologias de Internet XML

2.2.SECÇÕES CDATA
Todo o texto de um documento XML é interpretado durante a leitura do ficheiro, para
permitir a detecção de inícios e fins de etiquetas.

Existem alguns caracteres que são ilegais em XML, pois a sua utilização gera
documentos com interpretações ambíguas. Estes caracteres têm que ser substituídos
por entidades referenciais (começadas pelo carácter "&" e terminadas pelo carácter
";").Os caracteres ilegais XML são “<” e “&” que devem ser substituídos por &lt; e
&amp; respectivamente. Existem outros caracteres, que apesar de não serem ilegais,
também devem ser substituídos para evitar dificuldades de leitura, sendo>, e " que
devem ser substituídos por &gt; &apos; e &quot; respectivamente.

Exemplo:

<condicao> se salario < 1000 entao </condicao>

Tem que ser substituído por:

<condicao> se salario &lt; 1000 entao </condicao>

O CDATA permite definir secções de texto do documento XML que não são
interpretadas, e que portanto não restringem a utilização de caracteres ilegais. Uma
secção CDATA começa com "<![CDATA[" e termina com "]]>":

Exemplo:

<script>

<![CDATA[

if (a < b && a < 0)

then return 1;

else

return 0;

]]>

</script

Liliana Costa 3722 ISVOUGA Página 6 de 14


4- Tecnologias de Internet XML

As secções CDATA não podem conter outras secções CDATA, ou seja, não podem
conter as sequências de caracteres "<![CDATA[" ou "]]>"

A sequência "]]>" também não pode ter espaços nem mudanças de linha no seu
interior.

2.3 ESQUEMA DTD

O objectivo de uma Document Type Definition (DTD) é construir uma gramática que
define a estrutura e elementos válidos de um tipo de documento XML. Os documentos
que respeitam essa DTD dizem-se válidos. A DTD é efectuada numa linguagem própria
com sintaxe própria, diferente do XML. O documento XML pode conter uma DTD
embebida ou usar uma referência externa.

Exemplo de um documento XML que referencia DTD:

<?xml version="1.0"?>

<!DOCTYPE note SYSTEM "mensagem.dtd">

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

<mensagem>

<de>Liliana Costa</de>

<para>Nuno Peixoto

</para>

<assunto>Entrega de Trabalho Prático</assunto>

</mensagem>

Exemplo de DTD (mensagem.dtd):

<!ELEMENT mensagem (de,para,assunto)>

<!ELEMENT de (#PCDATA)>

<!ELEMENT para (#PCDATA)>

Liliana Costa 3722 ISVOUGA Página 7 de 14


4- Tecnologias de Internet XML

<!ELEMENT assunto (#PCDATA)>

Quando o documento XML é lido por um interpretador, se a opção de validação estiver


activa, o DTD é utilizado para validar o documento. Caso o documento não respeite o
DTD, gera-se um erro.

2.4 ESQUEMA XML SCHEMA

A linguagem XML Schema, também conhecida por XML Schema Definition (XSD), é
uma alternativa à DTD, mas as suas regras sintácticas são baseadas nas da XML. Por
este motivo, a XML Schema é uma aplicação da XML que descreve a estrutura de um
documento.

Os tipos de dados em XML Schema ou são “simple” ou “complex”.

Tipo “simple”:

 É um dos tipos básicos: string, date, float, double, timeDuration,…


 Restringe o texto que pode aparecer no valor dum atributo ou no conteúdo dum
elemento textual.
Tipo “complex”:

 Elemento que tenha atributos ou elementos filho;


 Restringe o conteúdo dum elemento relativamente aos atributos e elementos
filho que pode ter.

Um XML Schema define:

A utilização de DTD tem tendência a ser substituída por XML Schema, porque esta
última apresenta várias vantagens:

 É extensível;
 É mais expressiva que a DTD;
 É escrita em XML;
 Suporta tipos de dados;
 Suporta espaços de nomes.

Liliana Costa 3722 ISVOUGA Página 8 de 14


4- Tecnologias de Internet XML

Exemplo de um documento XML que referencia um Schema:

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

<shiporder orderid="889923"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="shiporder.xsd">

<orderperson>John Smith</orderperson>

<shipto>

<name>Ola Nordmann</name>

<address>Langgt 23</address>

<city>4000 Stavanger</city>

<country>Norway</country>

</shipto>

<item>

<title>Empire Burlesque</title>

<note>Special Edition</note>

<quantity>1</quantity>

<price>10.90</price>

</item>

<item>

<title>Hide your heart</title>

<quantity>1</quantity>

<price>9.90</price>

</item>

Exemplo de um XML Schema:

Liliana Costa 3722 ISVOUGA Página 9 de 14


4- Tecnologias de Internet XML

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

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="shiporder">

<xs:complexType>

<xs:sequence>

<xs:element name="orderperson" type="xs:string"/>

<xs:element name="shipto">

<xs:complexType>

<xs:sequence>

<xs:element name="name" type="xs:string"/>

<xs:element name="address" type="xs:string"/>

<xs:element name="city" type="xs:string"/>

<xs:element name="country" type="xs:string"/>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="item" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="title" type="xs:string"/>

<xs:element name="note" type="xs:string" minOccurs="0"/>

<xs:element name="quantity" type="xs:positiveInteger"/>

<xs:element name="price" type="xs:decimal"/>

</xs:sequence>

</xs:complexType>

Liliana Costa 3722 ISVOUGA Página 10 de 14


4- Tecnologias de Internet XML

</xs:element>

</xs:sequence>

<xs:attribute name="orderid" type="xs:string" use="required"/>

</xs:complexType>

</xs:element>

</xs:schema>

3. MODELOS DE PROCESSAMENTO

Existem dois modelos de processamento de documentos XML:

• Simple API for XML (SAX);

• Documento Object Model (DOM).

A escolha do modelo de processamento num programa XML não depende só das suas
características, depende também da funcionalidade disponível na biblioteca de
programação utilizada.

3.1 SAX

O SAX processa documentos em série, lendo os dados XML e produzindo eventos de


vários tipos: início de documento, início de elemento, caracteres, fim de elemento, fim
de documento, etc. Este modelo de processamento é mais rápido e utiliza menos
memória que o DOM, devendo ser utilizado, por exemplo, no servidor de aplicações em
rede. No entanto, oSAX necessita de mais programação para definir o tratamento dos
eventos lançados pelo interpretador durante a leitura dos dados XML. Outra restrição é
que não é possível voltar atrás no documento, devido ao processamento em série. 3.2

3.2 DOM

O DOM lê o documento e constrói uma estrutura em árvore, em que cada nó é um


componente do documento XML. Os nós, podem ser elementos, atributos, texto e até

Liliana Costa 3722 ISVOUGA Página 11 de 14


4- Tecnologias de Internet XML

comentários. Os dois tipos mais comuns são elementos e texto. Utilizando o DOM é
possível criar nós, remover nós, alterar o seu conteúdo e percorrer o nó
hierarquicamente (pai, filhos e irmãos). O principal problema deste modelo de
processamento é que necessita de bastante memória, o que pode ser impeditivo de
manipular documentos de grande dimensão. Por este motivo, o DOM é sobretudo
utilizado em aplicações cliente orientadas a utilizador, que tipicamente correm em
máquinas com poucos problemas de memória.

Liliana Costa 3722 ISVOUGA Página 12 de 14


4- Tecnologias de Internet XML

4. CONCLUSÃO

O XML permite múltiplas formas de visualização, permitindo assim, que um único


documento possa ser apresentado de diversas formas, de acordo com o gosto do
utilizador ou de acordo com as configurações da aplicação em uso. Essa múltipla
visualização é processada localmente, no cliente, permitindo-nos ainda a integração de
dados estruturados de diversas fontes, tais como bancos de dados. Essa integração
pode ser feita num servidor intermediário, e os dados estarão disponíveis para clientes
ou outros servidores. Por ser extensível, o XML pode descrever dados de uma enorme
variedade de aplicações (registo de dados, notícias, transacções comerciais, etc...) e
por possuir tags auto-descritivas não precisa de uma descrição de contexto acoplada
ao documento como o HTML. Permite actualizações granulares, evitando que uma
simples modificação num documento resulte na necessidade da actualização completa
do mesmo. Em síntese conclui-se que a linguagem XML é destinada a descrever o
conteúdo deum documento, e a linguagem HTML tem como objectivo definir a
formatação domesmo, ou seja, o XML define o assunto, e o HTML define como ele
será exibido aoutilizador. Sérgio Rocha - 2104 ISVOUGA Página 15 de 16

Liliana Costa 3722 ISVOUGA Página 13 de 14


4- Tecnologias de Internet XML

5.BIBLIOGRAFIA

 http://www.inf.ufsc.br/~gauthier/EGC6006/material/Aula%202/Introducao%20

e%20Sintaxe%20do%20XML.pdf

 http://www.tutoriaisweb.com/abrir.php?acao=visitar&id=786

 http://www.gta.ufrj.br/grad/00_1/miguel/link3.htm

 http://pt.wikipedia.org/wiki/XHTML

Liliana Costa 3722 ISVOUGA Página 14 de 14

Você também pode gostar