Entenda o XML - Parte 2

No artigo anterior apresentei uma visão geral do padrão XML. Agora vou falar sobre as regras básicas deste padrão que, embora simples, requer muita atenção, pois o XML é um padrão intolerante a falhas.

[ Hits: 8.677 ]

Por: Hugo Cerqueira em 16/10/2015


Entidades



Talvez você tenha se preocupado com o fato de não poder usar os caracteres "<" e "&" em XML. Pois bem, a boa notícia é que eles podem ser usados sim, mas só por meio das entidades. Entidades são uma maneira de representar um caractere (ou uma sequência de caracteres) com outros caracteres.

A estrutura de uma entidade é muito simples: começa com o "e comercial" (&), seguido do nome da entidade e termina com o caractere de ponto e vírgula (;). Existem 5 entidades pré-definidas em XML:
  • &lt; - Sinal de menor (<)
  • &gt; - Sinal de maior (>)
  • &amp; - "E comercial" (&)
  • &apos; - Apóstrofo (')
  • &quot; - Aspas (")

Embora somente o sinal de menor e o "e comercial" sejam caracteres reservados para a linguagem, é boa prática representar os outros três caracteres também por meio de entidades. Não há segredos para seu uso, veja:

<texto>O sinal &quot;e comercial&quot; deve ser usado com cuidado.</texto>

É possível também definir novas entidades, de forma que sirvam de "atalhos" no documento para textos utilizados com frequência. Mas a explicação disso terá de esperar por um artigo posterior.

XML x HTML

A linguagem HTML (que também é uma linguagem de marcação) apresenta muitas semelhanças com a linguagem XML. Normalmente quem já conhece uma das linguagens não tem grandes dificuldades para aprender a outra. Mas existem também algumas diferenças que devem ser conhecidas para evitar confusões.

Começando pelo propósito das linguagens, enquanto HTML é uma linguagem apropriada para a apresentação dos dados, XML é uma linguagem apropriada para armazenar e/ou transportar dados.

Quanto às diferenças técnicas, uma delas é o fato de a linguagem HTML já ter elementos pré-definidos (h1, div, span, p, br, entre outros). Em XML todos os elementos são definidos pelo próprio autor do documento (por isso mesmo é que é uma linguagem extensível).

Elementos vazios em HTML não precisam de uma barra no fim da tag. Em XML, essa barra não pode ser omitida. Além disso, a linguagem XML diferencia caracteres maiúsculos e minúsculos na definição dos elementos. Portanto, os nomes nas tags de abertura e fechamento devem ser idênticos.

Atributos em XML obrigatoriamente devem ter seus valores declarados (em HTML alguns valores podem ser omitidos porque são inferidos pelo agente de usuário) e devem estar sempre entre aspas (em HTML as aspas podem ser omitidas, caso não haja espaços no valor do atributo).

Entidades são declaradas da mesma forma em HTML e XML, porém a linguagem XML tem apenas 5 entidades pré-definidas, enquanto a linguagem HTML tem muitas mais. Além disso, seu uso não é obrigatório para os caracteres "<" e "&" em HTML.

Outra grande diferença é que a linguagem HTML é tolerante a falhas (o navegador ou outro agente de usuário vai tentar interpretar o documento mesmo que ele tenha sido projetado com erros). A linguagem XML, por outro lado, não tolera falhas. Qualquer que seja seu interpretador, ele deverá interromper a interpretação do documento caso haja falhas, e apresentar uma mensagem de erro. Isso ajuda a garantir que os documentos tenham uma estrutura consistente.

Conclusão

Se a linguagem XML ainda é uma novidade para você, ou ainda, se o conceito de linguagem de marcação é uma novidade para você, saiba que não há maneira melhor de entender a linguagem do que praticando. Escreva seus próprios documentos XML. Se necessário, releia o artigo para fixar melhor o conteúdo. Para se aprofundar no assunto, consulte as referências.

Recapitulando: a linguagem XML estrutura os valores dos dados sobre os nomes dos dados; documentos XML tem uma estrutura de árvore, com um nó principal (raiz), que pode se ramificar indefinidamente; diferente da linguagem HTML, feita para apresentar dados, a linguagem XML foi feita para transporte e/ou armazenamento dos dados (e por isso não pode tolerar falhas).

Para concluir, vou colocar um exemplo de um documento XML que poderia representar este artigo:

<?xml version="1.0" encoding="UTF-8"?>
<artigo idioma="pt_br">

	<!-- Informações sobre o artigo -->
	<titulo>Entenda o XML</titulo>
	<autor>Hugo Cerqueira</autor>
	<dataPublicacao>11/10/2015</dataPublicacao>

	<!-- Conteúdo do artigo -->
	<conteudo>
		<paragrafo titulo="Introdução">
			XML é uma linguagem de marcação...
		</paragrafo>
	</conteudo>
</artigo>

Referências


Página anterior    

Páginas do artigo
   1. Introdução
   2. Entidades
Outros artigos deste autor

Modelos de Negócio para o Software Livre

Aprisionamento Tecnológico

Entenda o XML - Parte 3

Acessibilidade na Web

Entenda o XML - Parte 1

Leitura recomendada

EditorConfig - Padronização de código para seus projetos

Como traduzir Software Livre - Um método fácil

Symbaloo para uso em Química e Pesquisa Científica

Codificação e decodificação entre ASCII, hexadecimal e unicode

IBM apresenta Maqetta, uma contribuição open source para HTML5

  
Comentários
[1] Comentário enviado por duferreira em 16/10/2015 - 16:15h

Excelente artigo Hugo!

[2] Comentário enviado por bmarquesm em 18/10/2015 - 14:57h

Muito bom artigo, parabéns Hugo.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts