Formatador e Validador de XML
Cole um XML para indentá-lo com 2 espaços, 4 espaços ou tabulações, comprimi-lo em uma única linha ou descobrir por que ele não é analisado. O XML bem formado volta com a contagem de elementos, a profundidade de aninhamento e o tamanho; o XML mal formado volta com a mensagem do analisador. Gratuito, sem cadastro, e o XML nunca sai do seu navegador.
Modo
Como usar o formatador de XML
- 1. Escolha um modo. Formatar deixa o código legível, com um elemento por linha; Minificar remove os espaços entre os elementos.
- 2. Escolha a indentação. Para Formatar, escolha 2 espaços, 4 espaços ou uma tabulação.
- 3. Cole seu XML e clique no botão. O resultado aparece abaixo com três contagens: elementos, profundidade máxima (a raiz é o nível 1) e tamanho da saída em caracteres.
- 4. Corrija os erros, se houver. Se o XML não estiver bem formado, nada é gerado e o analisador do seu navegador informa o que encontrou. Corrija o XML e clique no botão de novo.
Bem formado versus válido
Duas coisas diferentes são chamadas de “validar” XML. Um documento é bem formado se segue as regras de sintaxe da W3C, na XML 1.0 Recommendation; ele é válido se também obedece a um esquema, como um DTD ou um XSD. Esta ferramenta verifica apenas a boa formação, usando o analisador de XML embutido no seu navegador. Ela não lê DTDs nem esquemas, então um documento bem formado, mas errado para a sua aplicação — um elemento obrigatório ausente, por exemplo — passa. As regras que ela aplica:
| Regra | Quebra quando |
|---|---|
| Uma raiz | Dois elementos no topo, ou texto antes da raiz |
| Os elementos aninham corretamente | <a><b></a></b> |
| Toda tag de abertura tem uma de fechamento | <a><b></a>, ou <br> em vez de <br/> |
| Os nomes diferenciam maiúsculas de minúsculas | <Title>…</title> |
| Os valores de atributos ficam entre aspas | <a id=1/> |
| Nenhum atributo repetido no mesmo elemento | <a id="1" id="2"/> |
< e & são escapados no texto | <a>5 < 6 & 7</a> deveria ser 5 < 6 & 7 |
O XML define exatamente cinco entidades predefinidas — <, >, &, ' e " — então uma entidade HTML como é um erro, a menos que um DTD a declare. Para uma tag não fechada, a mensagem, que é o texto do navegador e varia de navegador para navegador, identifica o par incompatível: no Chrome, <a><b></a> gera um erro na linha 1, coluna 11, com "Opening and ending tag mismatch: b line 1 and a".
O que o formatador altera
A ferramenta transforma seu XML em uma árvore e a escreve de volta, então a saída é um XML equivalente em um layout mais organizado, e não uma cópia do seu texto. Espere estas diferenças:
- Declaração e DOCTYPE mantidos. Uma linha inicial
<?xml …?>e uma declaração<!DOCTYPE …>, incluindo o subconjunto interno, são escritas de volta como você digitou. - Atributos mantêm a ordem, mas são reescritos entre aspas duplas.
- Entidades são resolvidas.
'e referências de caractere como©voltam como os próprios caracteres; apenas&,<e>no texto, e"nos atributos, são escapados de novo. - Elementos vazios se fecham sozinhos.
<a></a>vira<a/>quando não tem conteúdo, embora um que contenha só um espaço continue como<a></a>. - Comentários, seções CDATA e instruções de processamento são mantidos.
Exemplo prático
Este documento de uma linha tem uma declaração, um atributo entre aspas simples, um comentário e um elemento vazio:
Entrada
<?xml version="1.0" encoding="UTF-8"?><library><book id='1'><title>APA Manual</title><year>2020</year><!-- note --></book><book id="2"/></library>
Formatar, 2 espaços
Nove linhas e 172 caracteres: a declaração, depois library na margem, cada book dois espaços para dentro, e o título, o ano e o comentário quatro espaços para dentro. O id do primeiro livro agora está escrito id="1".
Minificar
Uma linha de 146 caracteres.
Estatísticas
5 elementos e profundidade máxima de 3 (library, book, title).
Minificar mantém a declaração e coloca a árvore inteira em uma linha, então o mesmo documento encolhe de 172 caracteres para 146. O cartão de tamanho da saída mostra essas contagens de caracteres.
De qual ferramenta você precisa?
Esta página é para XML. Para HTML, que tolera tags não fechadas e preserva o espaçamento em linha, use o HTML Formatter. Para transformar XML em dados JSON, a ferramenta planejada XML to JSON Converter mostra como atributos e elementos repetidos são mapeados; para o próprio JSON, use o Formatador de JSON.
Perguntas frequentes
- O que faz um formatador de XML?
- Ele reindenta o XML para que o aninhamento fique visível, normalmente com um elemento por linha. Este também verifica se o XML está bem formado, porque precisa analisar o documento antes de escrevê-lo de volta em um novo layout.
- Como funciona a validação de XML aqui?
- O analisador de XML embutido no seu navegador lê o texto. Se o XML violar uma regra de sintaxe, o erro do analisador é exibido e nenhuma saída é gerada. A ferramenta verifica apenas a boa formação — não valida contra um DTD ou um esquema XSD.
- Comentários, seções CDATA e atributos são preservados?
- Sim: comentários e seções CDATA são escritos de volta como estavam, e os atributos mantêm a ordem, embora as aspas sejam normalizadas para aspas duplas. Uma declaração DOCTYPE é escrita de volta como você digitou.
- O que faz minificar?
- Ele remove os espaços e quebras de linha entre elementos para obter o texto equivalente mais curto, mantendo a declaração XML, se houver uma. O texto dentro de elementos como
<title>mantém seus espaços, assim como o texto ao lado de elementos filhos, como um parágrafo com uma palavra em negrito. - Por que formatar muda o espaçamento do meu texto?
- Só ao formatar conteúdo misto — texto ao lado de elementos filhos, como um parágrafo com uma palavra em negrito. Formatar apara esse texto e coloca cada pedaço em sua própria linha, o que muda os espaços; Minificar os mantém. XML de dados, em que os elementos contêm texto ou outros elementos, não é afetado.
- Por que meu XML com falha?
- XML tem apenas cinco entidades predefinidas, e
não é uma delas. Substitua-a pela referência numérica , ou declare a entidade em um DTD. - Meu XML é enviado para um servidor?
- Não. A análise e a formatação acontecem no seu navegador, e nada do que você cola é enviado a lugar nenhum.