Formatador XML

Dumps XML minificados de serviços SOAP, feeds RSS e exportações de configuração são ilegíveis em uma única linha. Este formatador analisa o documento, o reconstrói com indentação consistente (2 ou 4 espaços, tabs ou sem indentação para saída minificada), preserva a ordem dos atributos e seções CDATA, e relata qualquer problema de bem-formação com a linha e coluna exatas para que você possa corrigir tags incompatíveis sem procurar.

Como formatar XML

  1. 1

    Cole XML

    Qualquer comprimento, qualquer codificação; a declaração é preservada.

  2. 2

    Escolha a indentação

    Espaços (2 ou 4), tabs ou minificar.

  3. 3

    Formatar

    O parser constrói um DOM e depois re-serializa com espaçamento consistente.

  4. 4

    Copiar resultado

    A saída é XML bem-formado pronta para colar em logs ou documentos.

O que a formatação preserva

  • Declaração XML (<?xml version="1.0" encoding="UTF-8"?>) mantida verbatim.
  • Declarações DOCTYPE e subconjuntos internos preservados.
  • Instruções de processamento (<?xml-stylesheet ?>) mantidas em sua própria linha.
  • Comentários em sua própria linha ou inline dependendo do contexto.
  • Seções CDATA preservadas exatamente, incluindo espaços em branco internos.
  • Valores de atributos re-entre aspas usando aspas duplas se não contiverem aspas duplas, aspas simples caso contrário.
  • Referências de entidade como &amp;, &lt;, &gt; deixadas como estão, a menos que você ative a expansão total de entidades.

Exemplos de indentação

Entrada (minificada):

<books><book id="1"><title>1984</title><author>George Orwell</author></book></books>

Formatado (2 espaços):

<books>
  <book id="1">
    <title>1984</title>
    <author>George Orwell</author>
  </book>
</books>

Erros comuns que a ferramenta captura

Erro Correção
Tag de fechamento incompatível Combine nomes de abertura e fechamento
Elemento não fechado Adicione a tag de fechamento
Caractere inválido no nome da tag Nomes de tag devem começar com letra ou sublinhado
Atributos duplicados no mesmo elemento Remova o duplicado
CDATA malformado Verifique o emparelhamento de <![CDATA[ e ]]>
< ou & não escapados em texto Use &lt; ou &amp;

Bem-formado vs válido

  • Bem-formado XML segue as regras sintáticas: tags balanceadas, caracteres válidos, aninhamento adequado. O formatador verifica isso.
  • Válido XML adicionalmente se conforma a um esquema (DTD ou XSD). Para isso, use o validador XSD.

Um documento XML pode ser bem-formado sem ser válido, mas não o contrário.

Notas práticas

  • A ordem dos atributos XML é significativa para alguns sistemas (não muitos modernos), o formatador preserva a ordem de entrada.
  • Tags auto-fechadas vs tags vazias explícitas: <foo/> e <foo></foo> são equivalentes em XML; o formatador usa auto-fechamento para elementos vazios, a menos que você opte por não fazê-lo.
  • Prefixos de namespace são preservados exatamente.

Perguntas frequentes

Sim. O texto dentro de elementos de conteúdo misto e seções CDATA é mantido como está; apenas os espaços em branco entre os elementos são ajustados para a indentação.

O limite prático é cerca de 50 MB no navegador. Além disso, o parse do DOM consome muita memória. Para arquivos grandes, use um formatador de streaming como xmllint na linha de comando.

Sim. As declarações de namespace são preservadas em seu elemento; o formatador não as reorganiza para a raiz, a menos que você ative “consolidar namespaces”.

Não. A análise e formatação acontecem no seu navegador, nada é transmitido.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas