Como criar um documento XML - Introdução ao XML: Parte III

03 Mar 2009
4 mins read

O objetivo deste post é apresentar os elementos/partes de um documento XML.
Até agora, os XMLs apresentados como exemplos tinham uma estrutura parecida com essa:


Olá! 

O XML acima possui apenas uma declaração e os elementos que compõem a árvore XML. Porém, um XML também pode conter outros elementos. Segue a listagem das partes de um XML:

Declarações do XML

A maiora dos documentos XML começam com uma declaração XML que fornece informações básicas sobre o documento para o parser. É recomendado que um XML comece com uma declaração, mas não é obrigatório. Caso a declaração exista, deve ser a primeira coisa do documento. Eis um exemplo de declaração xml:

A declaração XML utiliza o elemento <?xml?>. Se utilizar <?XML?> terá um erro de validação.

Existem três atributos que podem ser usados na declaração:

Comentários

Você pode incluir comentários em um documento XML para incluir notas explicatórias e/ou descritivas. Os comentários são ignorados por um parser, assim como também são ignorados por um compilador. É possível incluir um comentário em qualquer lugar do XML, exceto nas tags (“dentro” das tags) e antes da declaração XML.




	
	alguém
	outra pessoa
	
	
	abcdefghijk

Instruções de Processamento

O XML permite que você utilize instruções especiais para passar informação para os programas que possam ler o documento XML. Uma instrução de processamento comença com "<?" e termina com "?>". A única restrição é que você não pode usar <?xml?> ou <?XML?> (que também é reservado).

No exemplo abaixo, a instrução de processamento é para o Cocoon, um framework da Apache que é focado em publicação XML. Quando o Cocoon está processando um XML, procura por instruções que comecem com cocoon-process, então processa o XML de acordo com esta instrução. O atributo type=”sql” indica que o documento XML contém uma instrução SQL.

Prólogo

O prólogo aparece no início de um documetno XML, e contém informações sobre o restante do documento. Um prólogo pode conter uma declaração XML, comentários (que descreve o documento), instruções de processamento, e declarações de tipo de documento (DTD).

O XML abaixo exemplifica um prólogo contendo uma declaração XML, comentário, uma instrução de processamento e um DTD (no elemento <!DOCTYPE>).





mensagem

Entidades

As entidades são constantes associadas a um valor de texto. São substituídas durante o processamento do documento XML. Por exemplo, se o texto “XML é legal” for aparecer em várias partes do documento podemos criar uma entidade assim:

Após a criação desta entidade, se quiser usar essa frase no documento XML, basta substituir por &legal.

Também existem algumas entidades pré-definidas. O XML possui alguns caracteres especiais, que podem até gerar conflito com o conteúdo do documento. Por exemplo, suponha que você queria utilizar a fórmula “x < y”. No XML, a fórmula ficaria assim:

x < y

Observe que a leitura não ficou muito legível. O que está confundindo a leitura é o carácter “<”, já que as tags são identificadas por este também. Para evitar essa confusão, podemos utilizar uma entidade pré-definida. O XML escrito corretamente com a entidade fica assim:

x < y

A listagem abaixo contém as entidades pré-definidas:

Alguns documentos XML possuem caracteres não usuais, especialmente os documentos que possuem conteúdo científico ou matemático. Se quisermos inserir o símbolo Π (pi), devemos fazer referência ao seu código no Unicode, como abaixo:

ã

CDATA

A seção CDATA serve para prevenir o processamento de uma porção de conteúdo. Tudo o que está nessa seção não será processado pelo parser.

Exemplo:



	Este é o conteúdo do XML de exemplo
	
		
			Maria
			99999999
		
		]]>
	

Se visualizarmos o XML acima, teremos:

cdataxml

Note que as tags <contato>, <nome> e <telefone> não foram reconhecidas como tags do documento, mas sim como conteúdo da tag <conteudo>.

Definindo Tags e Atributos

No XML, você é quem define o nome das tags e dos elementos que o documento XML vai ter.  A pesar de você poder escolher o nome que quiser para suas tags, existem algumas regras para a formação dos nomes.

A especificação XML é bem específica em relação ao nome das tags. Você pode começar uma tag com uma letra, underscore (_) ou dois pontos (:). Os próximos caracteres podem ser letras, dígitos, underscore, hífen, e dois pontos. Espaço não é permitido. Exemplo de tags que são permitidas:


<_documento>


Algumas tags que são ilegais:

<2documento>
<.documento>



< 2009>

Os nomes de atributos seguem as mesmas regras que as tags.

Obs.: Embora seja permitido o uso de dois pontos (:), não é aconselhável usar. O caracter ":" é utilizado por prefixos do namespace (um dos assuntos do próximo post).

Conclusão

Este post abordou as partes de um XML. Sabendo agora o que podemos ter em um XML, vamos falar sobre como criar um documento XML bem formado no próximo post.

O assunto de DTD vai ser abordado em um post futuro.

Até a próxima!