O que é XML?

O que é XML?
XML é a sigla de eXtensible Markup Language, que em português pode ser traduzido como linguagem de marcação extensível. É um padrão aberto, definido pelo consórcio W3C e publicado oficialmente em 1998, usado para armazenar e transportar dados em um formato de texto simples, legível tanto por pessoas quanto por máquinas. Se você já viu um arquivo cheio de etiquetas entre os sinais de menor e maior, como <nome>João</nome> ou <preco>29,90</preco>, já tem uma ideia aproximada de como é um documento XML. Vale deixar claro desde o início o que XML não é. Não é uma linguagem de programação: não tem variáveis, funções nem condições, e sozinho não executa absolutamente nada. Também não é uma linguagem de apresentação: não define cores, tamanhos nem posições na tela. XML é uma linguagem de marcação: descreve a estrutura e o significado dos dados e os organiza dentro de etiquetas que nomeiam cada parte da informação. A apresentação fica por conta de outro programa, que decide como exibir esses dados em cada caso. Uma boa forma de entender é imaginar uma caixa de papelão com etiquetas adesivas. A caixa contém dados: um produto, uma nota fiscal, uma notícia, um estoque. As etiquetas dizem o que é cada dado: nome, preço, data, quantidade. O XML faz a mesma coisa com texto puro: envolve cada dado em uma etiqueta que explica o que ele é e agrupa tudo em uma estrutura de árvore que qualquer programa consegue percorrer de cima para baixo. Essa combinação, dados estruturados, texto puro e um padrão aberto e gratuito, explica por que o XML está por trás de tantas tecnologias usadas diariamente sem que ninguém perceba: a nota fiscal eletrônica, os feeds de notícias RSS, os documentos do Office, os sitemaps dos buscadores e até a troca de informações entre bancos, empresas e governos.O que significa exatamente XML
Vale a pena decompor o nome, porque cada uma de suas palavras diz algo importante:- eXtensible: não existe uma lista fixa de etiquetas obrigatórias. Cada pessoa, empresa ou setor pode criar suas próprias etiquetas com os nomes de que precisa: um hospital usa <paciente> ou <diagnostico>, uma loja usa <produto> ou <preco>. Essa capacidade de estender a linguagem é o que a diferencia dos formatos de marcação fechados.
- Markup: significa marcação. São as marcas, ou seja, as etiquetas que envolvem o conteúdo e acrescentam informação sobre o que é cada parte, assim como um revisor marca um texto com símbolos para indicar títulos, citações ou correções.
- Language: o XML tem uma sintaxe com regras precisas: como as etiquetas são abertas e fechadas, onde ficam os atributos, como os caracteres especiais são representados. São poucas regras e fáceis de aprender, mas devem ser seguidas à risca para que qualquer programa entenda o documento.
A estrutura de um documento XML
Todo documento XML é composto pelas mesmas peças básicas: uma declaração opcional no início, um elemento raiz que contém tudo, elementos aninhados que formam uma hierarquia, atributos que acrescentam detalhes aos elementos e, claro, o texto com os dados. Vejamos o exemplo mais simples possível: um catálogo com um único produto. Você pode copiar este código em um arquivo de texto, salvá-lo como produto.xml e arrastá-lo para qualquer navegador: Exemplo 1: um documento XML bem formado <?xml version="1.0" encoding="UTF-8"?> <catalogo> <produto id="P-100"> <nome>Café moído 500 g</nome> <preco moeda="BRL">29,90</preco> <disponivel>true</disponivel> </produto> </catalogo> Se o navegador mostrar o conteúdo organizado e colorido, o XML está bem formado. Se mostrar uma mensagem de erro, há algum problema de sintaxe. Vamos rever cada parte:- Declaração XML: a primeira linha, <?xml version="1.0" encoding="UTF-8"?>, indica a versão da linguagem e a codificação de caracteres. É opcional, mas muito recomendada quando o texto inclui acentos e caracteres especiais.
- Elemento raiz: todo o documento vive dentro de um único elemento contêiner; aqui é <catalogo>. Sem uma raiz única, o documento não é válido.
- Elementos: um elemento é formado por uma etiqueta de abertura, um conteúdo e uma etiqueta de fechamento, como <nome>Café moído 500 g</nome>. Os elementos podem ser aninhados uns dentro dos outros formando uma árvore de pais e filhos: <produto> contém <nome>, <preco> e <disponivel>.
- Atributos: acrescentam informações complementares dentro da etiqueta de abertura, sempre no formato nome="valor". No exemplo, id="P-100" identifica o produto e moeda="BRL" indica a moeda em que o preço está expresso.
- Conteúdo de texto: entre a etiqueta de abertura e a de fechamento pode haver texto ou mais elementos. Os espaços, quebras de linha e recuos do arquivo não mudam o significado do documento: servem apenas para torná-lo mais legível para as pessoas.
Regras básicas de um XML bem formado
Um documento XML é chamado de bem formado quando segue as regras de sintaxe da linguagem. Se não seguir, nenhum programa deve processá-lo: ao contrário do que acontece com as páginas web, aqui os erros não são tolerados nem corrigidos pela metade. As regras essenciais são:- Deve existir um único elemento raiz que contenha todos os demais.
- Toda etiqueta aberta deve ser fechada. Se um elemento não tem conteúdo, pode se fechar sobre si mesmo: <imagem url="foto.jpg"/> equivale a abrir e fechar no mesmo ponto.
- As etiquetas devem ser aninhadas corretamente, sem se cruzar: <a><b></b></a> é válido, enquanto <a><b></a></b> não é.
- O XML diferencia letras maiúsculas de minúsculas: <Produto> e <produto> são duas etiquetas diferentes.
- Os valores dos atributos devem ser escritos entre aspas duplas ou simples.
- Os caracteres especiais são representados com entidades: < representa o sinal <, > o sinal >, & o sinal & e " as aspas duplas.
Para que serve o XML
O XML é usado em todos os cenários em que é preciso movimentar dados estruturados entre aplicações, organizações ou dispositivos. Seus usos mais comuns são:- Troca de dados entre sistemas: como é texto puro e segue um padrão, duas aplicações escritas em linguagens diferentes e executadas em sistemas operacionais diferentes conseguem se entender sem problemas. É o formato clássico de integração entre empresas, bancos e órgãos públicos.
- Nota fiscal eletrônica: os documentos eletrônicos exigidos por muitos países são gerados, assinados e validados como XML. O formato permite que o emissor, o receptor e o fisco leiam exatamente os mesmos dados, sem ambiguidades.
- Feeds RSS e Atom: blogs, portais de notícias e podcasts publicam suas atualizações como feeds XML que os leitores consultam automaticamente.
- Arquivos de configuração: muitas aplicações guardam suas configurações em XML para que sejam fáceis de ler, editar e versionar.
- Formatos de documento: os arquivos .docx, .xlsx e .pptx do Office, o formato de imagem vetorial SVG e os sitemaps XML dos buscadores são, por dentro, XML.
- Serviços web: protocolos empresariais como SOAP e tecnologias como XSLT, que transforma XML em outros formatos, seguem plenamente em uso no mundo corporativo.
Qual é a diferença entre XML e HTML
O XML e o HTML pertencem à mesma família, ambos descendem do SGML e ambos usam etiquetas, por isso são confundidos com frequência. Mas seus propósitos são quase opostos. O HTML existe para exibir conteúdo no navegador: suas etiquetas, como <h1>, <p> ou <img>, são fixadas pelo padrão, e o navegador sabe exatamente como desenhar cada uma. O XML existe para descrever dados: as etiquetas quem define é você, e nenhum navegador atribui a elas uma aparência padrão. A outra grande diferença é a tolerância a erros. Um navegador corrige por conta própria uma página HTML com etiquetas mal fechadas e a exibe mesmo assim. Um processador de XML, ao contrário, rejeita o documento inteiro se encontrar uma única violação de sintaxe. E enquanto no HTML as maiúsculas e minúsculas das etiquetas não importam, no XML importam: <Livro> e <livro> são elementos diferentes.| Aspecto | XML | HTML |
|---|---|---|
| Propósito principal | Armazenar e transportar dados | Apresentar conteúdo na web |
| Etiquetas | Criadas por quem escreve o documento | Fixas e definidas pelo padrão HTML |
| Apresentação | Não define a aparência dos dados | Define a estrutura visual da página |
| Erros de sintaxe | O documento é rejeitado | O navegador tolera e exibe mesmo assim |
| Maiúsculas | Sensível: <Livro> e <livro> diferem | Não diferencia maiúsculas de minúsculas |
O que é um arquivo .xml e como abri-lo
Um arquivo .xml é, simplesmente, um arquivo de texto cujo conteúdo é um documento XML. A extensão .xml informa aos programas o que esperar, mas por dentro não há nada de especial: apenas caracteres de texto puro. Por isso você pode abri-lo, lê-lo e editá-lo com as ferramentas mais básicas que já tem instaladas:- Bloco de notas ou outro editor de texto: clique com o botão direito e escolha Abrir com. Você verá as etiquetas exatamente como estão salvas no arquivo.
- Navegador web: arraste o arquivo para o Chrome, Firefox ou Edge. Se o XML estiver bem formado, o navegador o exibe como uma árvore de etiquetas recolhível e colorida. Se houver erros, ele aponta a linha exata em que a falha ocorre.
- Excel: quando o arquivo contém dados tabulares, o Excel o converte em linhas e colunas, o que facilita revisar as informações sem ler etiquetas.
- Editores com realce de sintaxe: ferramentas como Visual Studio Code ou Notepad++ colorizam etiquetas, atributos e valores, o que torna muito mais confortável trabalhar com arquivos XML grandes.