Artigo

XML para o concurso da Caixa (TI)

Neste artigo iremos abordar sobre os conceitos gerais de XML (Extensible Markup Language), que é uma linguagem de marcação universal para codificação de dados de forma legível por humanos e máquinas.

Este é um dos assuntos cobrados pela Cesgranrio no concurso da Caixa Econômica Federal, área Tecnologia da Informação. Por isso, vamos abordar os tópicos principais para concursos públicos.

Assim, estruturamos este artigo da seguinte forma:

O que é XML?

XML é uma linguagem de marcação universal e autodescritiva que permite aos usuários definir suas próprias tags para descrever dados de maneira estruturada e legível por máquina e por humanos. 

As tags são cercadas por colchetes angulares (“<” e “>”), com elementos aninhados para representar hierarquias de dados. Os documentos XML são organizados em uma estrutura de árvore que tem início na “raiz” e se estende até as “folhas”. Por exemplo:

código exemplo: o que é XML

Neste exemplo simples, temos um elemento raiz <pessoa> contendo dois filhos: <nome> e <idade>.

Sintaxe

As regras de sintaxe são simples e lógicas, sendo fáceis de aprender e aplicar. A seguir, veremos as principais.

Documentos XML devem ter um elemento raiz

Os documentos XML devem iniciar com um elemento raiz que seja pai de todos os outros elementos:

Elemento raiz e filhos no XML

Note que existem apenas um elemento “raiz”, podendo ter vários filhos.

Prólogo XML

Normalmente, em documentos XML, temos a seguinte linha:

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

Essa linha é chamada de prólogo XML e é opcional. Entretanto, se existir, deve aparecer antes do conteúdo do XML. A codificação UTF-8 é importante pois evita erros no documento caso este contenha caracteres internacionais. Por isso, o UTF-8 é a codificação de caracteres padrão para documentos XML. 

Por fim, é importante salientar que o prólogo NÃO FAZ PARTE do documento XML.

Os elementos devem ter uma tag de fechamento

Em XML, todos os elementos devem possuir uma tag de fechamento, que podem ser representadas das seguintes formas:

Tags no XML

ou

tags XML

No primeiro caso, o elemento possui conteúdo. Por outro lado, no segundo caso, o elemento não possui conteúdo, sendo possível fechá-lo apenas com />. Assim, há duas formas de fechar um elemento. O primeiro caso pode ser utilizado para elementos com conteúdo ou para elementos vazios. Já o segundo caso, é usado apenas para elementos sem conteúdos.

XML é Case Sensitive

As tags XML diferenciam maiúsculas de minúsculas, ou seja, a tag <Mensagem> é diferente da tag <mensagem>, pois na primeira o M está maiúsculo e segunda minúsculo. Assim, tags de abertura e fechamento devem ser escritas com o mesmo caso. Vejamos dois exemplos:

Case sensitive
Case sensitive 2

Aninhamento dos elementos

Em XML, todos os elementos devem ser aninhados uns aos outros, ou seja, quando um elemento X for aberto dentro de um elemento Y, o elemento X deve fechado dentro do elemento Y. 

Vejamos um exemplo:

Aninhamento dos elementos

Esse exemplo está correto, perceba que o elemento Y abre e fecha dentro de X. Portanto, estão aninhados de forma correta.

Vejamos um outro exemplo abaixo:

Aninhamento dos elementos errado

Nesse exemplo, os elementos estão INCORRETAMENTE aninhados, pois o elemento Y fecha depois de seu pai, o elemento X. Isso é proibido!

Ao incluir um atributo, seu valor é obrigatório

Os elementos XML podem conter atributos, que são compostos, obrigatoriamente,por um par de nome e valor. Isso significa que não posso ter um atributo sem valor. Os valores dos atributos devem sempre estar entre aspas “ “. 

Atributo tem valor obrigatório

No exemplo acima, o elemento email possui um atributo data com o valor “10/04/2024”. 

Leia também:

Caracteres especiais devem ser substituídos por referências de entidade

Certos caracteres, como <, >, &, ‘ e “ não podem ser usados diretamente, pois podem ser interpretados como marcações. Em vez disso, devem ser substituídos por entidades XML:

  • < é substituído por &lt;
  • > é substituído por &gt;
  • & é substituído por &amp;
  • ” é substituído por &quot;
  • ‘ é substituído por &apos;

Por exemplo, ao colocar um caractere como “<” dentro de um elemento, será gerado um erro porque o analisador o interpreta como o início de um novo elemento.

Assim, o seguinte trecho gerará um erro:

caracteres proibidos

Devendo ser substituído por:

caracteres proibidos 2

Mas muita atenção: somente os caracteres < e & são estritamente ilegais em XML. Mas é uma boa prática substituir os demais caracteres também pelas referências de entidade.

Comentários XML

A forma de escrever comentários é similar à utilizada em HTML:

comentários XML

Não é permitido inserir dois hífens no meio de um comentário:

COMENTÁRIOS XML errado

Espaços em branco

Diferentemente do que ocorre no HTML, que trunca vários espaços em branco para um único espaço em branco, no XML os espaços em branco são preservados, ou seja, se você incluir vários espaços em brancos, todos serão considerados:

O que é um XML bem formado?

Os documentos XML que são elaborados em conformidade com as regras de sintaxe mostradas anteriormente são considerados “bem formados”. Isso significa que todos os elementos devem estar corretamente aninhados, todos os atributos devem estar entre aspas e todas as tags devem ser fechadas adequadamente. Um XML bem formado é essencial para que um documento possa ser processado por aplicativos.

Conclusão

Bom pessoal, concluímos o artigo com os conceitos iniciais de XML. Embora seja apenas uma introdução, com essas regras de sintaxe já podemos resolver a maioria das questões desse assunto. Espero que o conteúdo aqui apresentado seja útil para sua aprovação. Bons estudos!

Saiba mais: Concurso Caixa

Quer saber quais serão os próximos concursos?

Confira nossos artigos!

Concursos abertos

Concursos 2024

Concursos 2025

Quer estudar para o Concurso Caixa?

Assinatura de Concursos

Assinatura de 1 ano ou 2 anos

Deixe seu comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Veja os comentários
  • Nenhum comentário enviado.