Como usar o formatador de XML
- Cole o seu XML na caixa de entrada: um envelope SOAP, um feed RSS, um sitemap, um arquivo SVG ou um arquivo de configuração.
- Clique em Formatar para organizá-lo com um elemento por linha e recuos consistentes.
- Clique em Minificar para remover os espaços em branco entre as tags e gerar a versão mais compacta.
- Se o documento não estiver bem formado, o verificador informa o que deu errado e onde, para você ir direto ao problema.
- Copie o resultado para o seu editor ou requisição.
A análise acontece localmente no seu navegador. O XML que você cola nunca é enviado nem armazenado, então você pode trabalhar com segurança com payloads de APIs internas e configurações.
O que é XML e por que formatá-lo?
XML (Extensible Markup Language) é um padrão do W3C para representar dados estruturados como elementos nomeados e aninhados, com atributos opcionais. Ele ainda está em toda parte: serviços web SOAP, feeds RSS e Atom, sitemaps XML, arquivos do Microsoft Office, layouts do Android, arquivos pom.xml do Maven e gráficos SVG são todos XML.
O XML gerado por software costuma ser escrito em uma única linha ou com recuo irregular. Formatá-lo deixa a hierarquia visível, para você acompanhar qual elemento pertence a qual pai e perceber um valor no lugar errado. Minificar é útil quando você precisa incorporar o XML em outro payload ou reduzir o seu tamanho.
XML bem formado e XML válido
Esses dois termos costumam ser confundidos:
- O XML bem formado segue as regras de sintaxe da especificação XML: um único elemento raiz, tags corretamente aninhadas e fechadas, valores de atributos entre aspas e caracteres especiais escapados. Todo analisador de XML exige isso.
- O XML válido é bem formado e está em conformidade com um esquema (um DTD, XSD ou RELAX NG) que define quais elementos e atributos são permitidos.
Esta ferramenta verifica se o documento está bem formado. A validação por esquema precisa do arquivo de esquema e geralmente é feita nas ferramentas de build ou na IDE.
Erros comuns de XML e como corrigi-los
Mais de um elemento raiz. Um documento XML deve ter exatamente um elemento de nível superior:
<item>A</item>
<item>B</item>
Envolva os elementos irmãos em um único pai:
<items>
<item>A</item>
<item>B</item>
</items>
Tags incompatíveis ou aninhadas de forma incorreta. As tags devem ser fechadas na ordem inversa e os nomes diferenciam maiúsculas de minúsculas, então <Name>…</name> é um erro, assim como <b><i>text</b></i>.
Caracteres especiais sem escape. Um < ou & solto dentro do texto quebra a análise. Use as entidades predefinidas:
| Caractere | Entidade | Quando é obrigatória |
|---|---|---|
< | < | Sempre, em texto e em valores de atributos |
& | & | Sempre, em texto e em valores de atributos |
> | > | Recomendada; obrigatória na sequência ]]> |
" | " | Dentro de valores de atributos entre aspas duplas |
' | ' | Dentro de valores de atributos entre aspas simples |
Por exemplo, uma URL em um sitemap deve ser escrita como <loc>https://example.com/?a=1&b=2</loc>. Como alternativa, envolva grandes blocos de texto em uma seção <![CDATA[ … ]]>, em que os caracteres de marcação não são interpretados.
Atributos sem aspas. Ao contrário do HTML, o XML exige aspas em torno de todo valor de atributo: <user id="42">, e não <user id=42>.
Conteúdo antes da declaração XML. Se estiver presente, <?xml version="1.0" encoding="UTF-8"?> deve ser a primeiríssima coisa do arquivo. Até um único espaço ou uma linha em branco antes dela deixa o documento malformado.
Dicas e boas práticas
- Declare a codificação e salve os arquivos em UTF-8 para evitar problemas com caracteres acentuados.
- Tenha cuidado ao formatar documentos em que os espaços em branco são significativos, como conteúdo misto ou elementos que usam
xml:space="preserve"; acrescentar quebras de linha pode alterar o valor do texto. - Use os namespaces de forma consistente: um prefixo como
soap:deve ser declarado com um atributoxmlns:soapno elemento ou em um ancestral. - Precisa incorporar XML em uma URL ou em uma string JSON? Codifique-o antes com o codificador de URL ou o codificador Base64.
Perguntas frequentes
HTML é a mesma coisa que XML?
Não. O HTML é mais tolerante: permite elementos não fechados, como <br>, atributos sem aspas e nomes de tags sem diferenciar maiúsculas de minúsculas. XHTML é a variante do HTML que segue as regras do XML. Para organizar páginas da web comuns, use o formatador de HTML.
A formatação altera os meus dados?
A formatação acrescenta espaços em branco entre os elementos, e a minificação os remove. Os nomes dos elementos, os atributos e o conteúdo de texto continuam iguais, mas em documentos em que os espaços dentro do texto são significativos o recuo extra pode importar.
Esta ferramenta valida com um esquema XSD?
Não. Ela verifica se o documento está bem formado. A validação com um DTD ou XSD exige o esquema e um analisador com validação.
Por que meu XML dá erro com o & (e comercial)?
No XML, o & sempre inicia uma referência de entidade. Um e comercial solto, comum em URLs e em nomes de empresas, deve ser escrito como & ou colocado dentro de uma seção CDATA.
Atualizado