§

Cole o XML

§

Opções

Modo
Indentação
Declaração XML
Tags vazias auto-fechadas
§

Saída formatada

xml

Imprimir XML legível é rotina no stack brasileiro e lusófono: a NFe (Nota Fiscal Eletrônica) submetida à Receita Federal trafega como XML assinado com certificado A1 ou A3, e os contadores que integram com a SEFAZ estadual passam o dia validando schemas XSD. Bancos como Banco do Brasil e Itaú ainda mantêm webservices SOAP legados em XML, e os feeds RSS da Globo, UOL e Folha alimentam agregadores Atom. Em Portugal, o eFatura do INCM aceita SAF-T (PT) em XML, e empresas listadas na B3 e na CMVM brasileira (assim como na CVM) entregam relatórios financeiros em XBRL. Validar e indentar XML rapidamente diminui o tempo de fechamento contábil.

O que é a formatação XML?

XML (Extensible Markup Language) é um formato de texto padronizado pelo W3C para documentos estruturados e intercâmbio de dados. Formatar — também chamado pretty-printing ou embelezar — pega uma fonte XML bem-formada e a reindenta para que cada elemento, atributo, comentário, instrução de processamento e seção CDATA seja fácil de ler. A árvore do documento analisado é preservada exatamente; apenas o espaço em branco entre elementos muda.

Como funciona a formatação XML?

Sua entrada é processada inteiramente no seu navegador usando as APIs nativas DOMParser e XMLSerializer mais um indentador recursivo personalizado. Os passos principais são:

  1. Sua entrada é lida do textarea literalmente — cada byte que você colou permanece em memória local.
  2. O navegador a analisa com new DOMParser().parseFromString(text, 'application/xml'). Se a entrada não estiver bem-formada, o analisador insere um nó <parsererror> cujo texto carrega as dicas de linha e coluna do motor — elas são exibidas literalmente na faixa de erro.
  3. Em uma análise bem-sucedida, um indentador personalizado percorre a árvore DOM em profundidade, emitindo cada elemento, conjunto de atributos, seção CDATA, comentário e instrução de processamento em sua própria linha na profundidade atual. As tags vazias auto-fechadas são respeitadas quando a opção está ativa.
  4. O modo Minificar inverte o pipeline: XMLSerializer().serializeToString(doc) emite uma forma em uma única linha, e em seguida uma expressão regular protegida remove o espaço em branco entre elementos sem tocar no texto dentro de blocos CDATA ou nós de texto não vazios.
  5. A saída é escrita no textarea somente leitura, a faixa de erro é limpa, e o botão Baixar empacota o resultado como arquivo .xml que você pode enviar ou anexar a um ticket.

Por que imprimir XML bonito com esta ferramenta?

  • Privacidade: cada análise, formatação e minificação acontece no seu navegador. O XML nunca chega aos nossos servidores — sem upload, sem telemetria, sem conta.
  • Erros precisos: quando a entrada está malformada, o analisador mostra a linha e a coluna exatas que o motor do navegador reporta, não uma estimativa sintética — os mesmos números que você veria no DevTools.
  • Round-trip fiel: formate e em seguida minifique para obter o equivalente em bytes do seu documento original (módulo a opção de declaração XML) — a formatação nunca recanoniza espaços de nome nem reescreve a ordem dos atributos.
  • Rápido: somente DOMParser mais um indentador de ~60 linhas processam envelopes SOAP de vários megabytes e fragmentos OOXML instantaneamente, sem biblioteca externa a baixar.

Quais são as aplicações comuns da formatação XML?

Imprimir XML bonito aparece em publicação web, integração corporativa e arquivamento de dados:

  • Inspeção de feeds RSS / Atom: cole o corpo de um podcast ou feed de notícias para confirmar metadados de canal, ordem de itens e prefixos de namespace antes de publicar.
  • Depuração SOAP: formate um envelope copiado do Wireshark ou do log de um cliente SOAP para que as seções Header, Body e Fault fiquem visíveis de relance.
  • Auditoria de sitemaps: reindente um sitemap.xml baixado de um concorrente ou do seu staging para contar entradas e confirmar os alternates hreflang por URL.

Como é um exemplo de formatação XML?

Colar um <feed><entry><title>Hello</title></entry></feed> de três elementos e pressionar Formatar com a opção de indentação de 2 espaços produz um documento de quatro linhas com cada elemento em sua própria linha, indentado por profundidade. Alternar para Minificar sobre a mesma entrada colapsa de volta para a string de bytes original. O round-trip é sem perdas para qualquer documento bem-formado.

Funciona offline?

Sim. O pipeline de formatação e minificação é puramente DOMParser + XMLSerializer mais um pequeno indentador recursivo, tudo executando dentro da aba do navegador. Nada é enviado, nenhum service worker faz proxy da sua entrada, e a página não faz nenhuma requisição de rede para o passo de formatação em si. O único tráfego de saída são os recursos padrão de carregamento de página (CSS, fontes, analytics) — seu XML nunca chega à Ultim8Soft.

A formatação altera o documento?

Sem alteração semântica. A formatação apenas reescreve o espaço em branco entre elementos. Nomes de elementos, valores de atributos, conteúdo de texto, payloads CDATA, comentários e instruções de processamento são preservados byte a byte. Declarações e prefixos de namespace são mantidos exatamente como a entrada os escreveu — o formatador não recanoniza nem reordena atributos. A saída é analisada para a mesma árvore DOM que a entrada, módulo o toggle opcional de declaração XML.

Como são tratados CDATA / comentários / instruções de processamento?

Cada um é emitido literalmente em sua própria linha na profundidade de indentação atual. Payloads CDATA são envoltos em <![CDATA[…]]> sem reindentação interna — a especificação diz que o conteúdo CDATA é opaco, então o formatador nunca o toca. Comentários usam <!-- … -->; instruções de processamento usam <?target data?>. Os três sobrevivem a um round-trip formatar → minificar → formatar com o conteúdo intacto.

Qual a diferença entre formatar e minificar XML?

Formatar expande o espaço em branco para que humanos possam ler a árvore do documento; minificar o retira novamente para transporte e armazenamento. Ambos operam sobre o DOM analisado, não sobre a string de bytes bruta, então um round-trip formatar → minificar em um documento bem-formado produz o equivalente em bytes da forma minificada original. Use a direção formatar quando precisar ler ou diferenciar um payload XML, e a direção minificar quando quiser enviá-lo por um API Gateway tarifado ou embuti-lo dentro de outro documento.

Este formatador XML usa o mesmo analisador que o seu navegador utiliza para respostas XHR AJAX e documentos SVG, então qualquer XML bem-formado — RSS, Atom, SOAP, sitemap, OOXML, SVG — faz round-trip limpamente. Cole qualquer XML acima, copie a saída ou baixe-a como .xml.