DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Introdução a XML - Regras de sintaxe

Veja neste artigo as regras básicas de sintaxe para criação de documentos XML.

1. As Regras de Sintaxe da XML

Um documento XML é considerado bem-formado quando respeita o conjunto de regras de sintaxe estabelecidas na especificação da linguagem. É importante conhecer essas regras, pois a maioria das bibliotecas utilizadas para consulta e atualização de documentos XML requer a utilização de documentos bem-formados.

No site da W3C (órgão responsável pela definição da linguagem XML e pela padronização de outras iniciativas ligadas à Web), existe um documento que contendo toda essa especificação. Porém, como quase sempre acontece com as especificações da W3C, o documento é extremamente grande e de leitura bastante “pesada”. Para facilitar a nossa vida, a seguir apresentamos uma lista contendo as mais importantes regras de sintaxe da XML:

  1. Um documento XML deve possuir raiz única.
  2. Todas as tags devem ser fechadas (elementos devem possuir tag inicial e tag final)
  3. Os nomes de elementos (tags) e atributos são sensíveis à caracteres maiúsculos e minúsculos.
  4. Os elementos devem ser bem-aninhados (tags fecham em ordem oposta a que foram abertas).
  5. Atributos não se repetem em um mesmo elemento.
  6. Todo atributo deve possuir algum valor e este valor deve ser especificado entre aspas.
  7. Alguns caracteres especiais, como “ < ”, “ & ” e “ > ” devem ser especificados com o uso de entidades pré-definidas (no caso & lt; , & amp; e & gt; , respectivamente).
  8. Nomes de tags não podem conter espaços em branco nem os caracteres !"#$%&'()*+,/;<=>?@[\]^`{|}~. Além disso, não podem começar com um número, “ . ” (ponto) ou “ - " (traço).

2. Exemplos

Apresentamos agora exemplos práticos envolvendo as regras recém-apresentadas. Para cada regra, primeiro apresentamos um documento contendo um erro de sintaxe e depois a correção do mesmo.

Regra 1: Um Documento XML deve possuir raiz única

Listagem 1: Documento com erro - não possui raiz única

<?xml version="1.0"?>
<pais>
	<nome>Brasil</nome>
	<moeda>Real</moeda>
</pais>
<pais>
	<nome>Argentina</nome>
	<moeda>Peso argentino</moeda>
</pais>

Listagem 2: Documento correto - possui “nacoes” como raiz única

<?xml version="1.0"?>
<nacoes>
  <pais>
	<nome>Brasil</nome>
	<moeda>Real</moeda>
  </pais>
  <pais>
	<nome>Argentina</nome>
	<moeda>Peso argentino</moeda>
  </pais>
</nacoes> 

Regra 2: Todas as tags devem ser fechadas

Listagem 3: Documento com erro - as tags “nome” e “populacao” não foram fechadas

<?xml version="1.0"?>
<pais>
<nome>Brasil
<populacao>196.655.014
</pais>
 

Listagem 4: Documento correto - todas as tags foram fechadas

<?xml version="1.0"?>
<pais>
<nome>Brasil</nome>
<populacao>196.655.014</populacao>
</pais>
 

Regra 3: Nomes de elementos e atributos são sensíveis à caracteres maiúsculos e minúsculos

Listagem 5: Documento com erro - a tag “nome” é diferente de “Nome”

<?xml version="1.0"?>
<pais>
<nome>Uruguai</Nome>
</pais>
 

Listagem 6: Documento corrigido

<?xml version="1.0"?>
<pais>
<nome>Uruguai</nome>
</pais>
 

Regra 4: Os elementos devem ser bem-aninhados (tags fecham em ordem oposta a que foram abertas)

Listagem 7: Documento com erro - tags fechadas na ordem errada

<?xml version="1.0"?>
<informacao>
   <texto>A capital do <pais>Chile eh <capital>Santiago</texto></capital></pais>
</informacao>
 

Listagem 8: Documento corrigido

<?xml version="1.0"?>
<informacao>
   <texto>A capital do <pais>Chile</pais> eh <capital>Santiago</capital></texto>
</informacao>
 

Regra 5: Atributos não se repetem em um mesmo elemento

Listagem 9: Documento com erro - dois atributos chamados “cidade”

<?xml version="1.0"?>
<pais cidade="Rio de Janeiro" cidade="Brasília">
   Brasil
</pais>

Listagem 10: Documento corrigido - um dos atributos foi mudado para “capital”

<?xml version="1.0"?>
<pais cidade="Rio de Janeiro" capital="Brasília">
   Brasil
</pais>
 

Regra 6: Todo atributo deve possuir algum valor e este deve ser especificado entre aspas

Listagem 11: Documento com erro - o atributo “mercosul” não tem valor

<?xml version="1.0"?>
<pais mercosul>
   Brasil
</pais>

Listagem 12: Documento corrigido - “mercosul” tem valor igual a “SIM”

<?xml version="1.0"?>
<pais mercosul="SIM">
   Brasil
</pais>
 

Regra 7: Alguns caracteres, como “ < ” e “ & ” devem ser especificados com o uso de entidades pré-definidas (no caso, & lt; e & amp;);

Listagem 13: Documento com erro - contém o sinal /p>

<?xml version="1.0"?>
<regra_7>
   Brasil & Chile 
</regra_7>

Listagem 14: Documento corrigido - usa entidade pré-definida

<?xml version="1.0"?>
<regra_7>
   Brasil & amp; Chile 
</regra_7>
 

Regra 8: Nomes de tags não podem conter espaços em branco nem os caracteres !"#$%&'()*+,/;<=>?@[\]^`{|}~. Além disso, não podem começar com um número, “ . ” (ponto) ou “ - " (traço).

Listagem 15: Documento com erro - nome da tag começa com número.

<?xml version="1.0"?>
<1_pais>
   Brasil 
<1_pais>

Listagem 16: Documento corrigido - nome da tag começa com letra

<?xml version="1.0"?>
<pais_1>
   Brasil 
</pais_1>
 

Assim finalizamos o artigo. Não apresentamos todas as regras de sintaxe da XML, porém mostramos as mais importantes, ou seja, aquelas que precisam ser conhecidas por qualquer desenvolvedor!


Eduardo Corrêa Gonçalves
Doutorando e mestre em Ciência da Computação pelo Instituto de Computação da Universidade Federal Fluminense (IC/UFF). Atua principalmente nas seguintes linhas de pesquisa: Mineração de Dados, Algoritmos, Banco de Dados e XML.
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03