Ir para o conteúdo

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. 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. 2. Escolha a indentação. Para Formatar, escolha 2 espaços, 4 espaços ou uma tabulação.
  3. 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. 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:

RegraQuebra quando
Uma raizDois 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 &lt; 6 &amp; 7

O XML define exatamente cinco entidades predefinidas — &lt;, &gt;, &amp;, &apos; e &quot; — então uma entidade HTML como &nbsp; é 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. &apos; e referências de caractere como &#169; voltam como os próprios caracteres; apenas &, < e > no texto, e &quot; 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 &nbsp; falha?
XML tem apenas cinco entidades predefinidas, e &nbsp; não é uma delas. Substitua-a pela referência numérica &#160;, 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.

Ferramentas relacionadas

Mais em Dados, marcação e código