BrowserTools
Publicidade
Início / Validadores / Validador e formatador de XML

Validador e formatador de XML

Valida e formata XML no teu navegador usando o DOMParser.

A carregar Validador e formatador de XML… Se nada acontecer, ativa o JavaScript.

XML (eXtensible Markup Language) é um formato baseado em texto para armazenar e transportar dados estruturados. Desenvolvido pelo grupo de trabalho XML do W3C e publicado pela primeira vez como recomendação em 1998, o XML foi concebido para ser simultaneamente legível por humanos e analisável por máquinas, autodescritivo e extensível, o que significa que os programadores podiam definir as suas próprias etiquetas e estruturas de documento em vez de se limitarem a um vocabulário fixo. O XML cresceu diretamente a partir do SGML (Standard Generalised Markup Language), o complexo padrão ISO usado para documentação técnica, mas eliminou a maior parte da complexidade do SGML para produzir algo que pudesse ser implementado num fim de semana.

Exemplos

Entrada <note><to>Ada</to></note>
Saída Well-formed
Entrada <note><to>Ada</note>
Saída Not well-formed · unclosed <note>

Cada etiqueta de abertura precisa de uma etiqueta de fecho correspondente, corretamente aninhada.

Perguntas frequentes

O meu XML é enviado para um servidor?
Não. A análise e a formatação acontecem inteiramente no teu navegador usando a API DOMParser integrada, que faz parte da plataforma web e corre localmente no teu dispositivo. O teu conteúdo XML nunca é transmitido pela rede, o que torna esta ferramenta segura para ficheiros de configuração confidenciais, esquemas internos ou formatos de dados proprietários.
Qual é a diferença entre XML bem formado e XML válido?
Um documento XML bem formado segue as regras básicas de sintaxe da especificação XML: tem um único elemento raiz, todas as etiquetas estão corretamente aninhadas e fechadas, os valores dos atributos estão entre aspas e os caracteres reservados estão escapados com referências de entidade. Um documento XML válido conforma-se ainda a um esquema declarado, um DTD (Document Type Definition) ou XSD (XML Schema Definition), que restringe que elementos e atributos são permitidos e por que ordem. Esta ferramenta verifica apenas a boa formação.
Quando precisaria de validar XML na prática?
Os cenários comuns incluem depurar pedidos e respostas de serviços web SOAP, inspecionar ficheiros de construção do Maven ou Gradle, examinar ficheiros de recursos do Android, rever a marcação de feeds RSS/Atom, verificar ficheiros de imagem SVG, formatar configurações de beans do Spring Framework e validar mensagens HL7 ou FHIR em integrações de saúde. Sempre que uma ferramenta ou biblioteca reporta um erro de análise de XML, colar o conteúdo aqui revela rapidamente a linha problemática.
Em que difere o XML do HTML?
O HTML foi concebido para ser resistente a erros; os navegadores renderizam uma página mesmo com etiquetas por fechar, aspas em falta e elementos sobrepostos, aplicando regras complexas de recuperação de erros. O XML é rigoroso: um único erro de sintaxe torna o documento inteiro inválido e este não deve ser processado mais além. O HTML usa um vocabulário fixo de elementos definido pela especificação HTML; o XML permite qualquer nome de etiqueta definido pelo autor do documento ou pelo seu esquema regente.
Esta ferramenta valida contra um esquema XSD ou DTD?
Atualmente não. Esta ferramenta verifica apenas a boa formação do XML, a sintaxe correta, usando o DOMParser do navegador. A validação de esquema contra XSD (XML Schema Definition) ou DTD (Document Type Definition) é uma operação mais complexa que requer um validador especializado. Para a validação XSD, ferramentas de linha de comandos como o xmllint (libxml2) ou validadores XSD online que aceitem tanto o esquema como o documento são mais adequados.
Qual é o tamanho máximo de XML que posso validar?
Não há um limite fixo, mas a memória disponível do navegador e o desempenho do DOMParser impõem restrições práticas. Os documentos até alguns megabytes analisam-se e formatam-se em milissegundos. Os ficheiros XML muito grandes, de centenas de megabytes, como as exportações de bases de dados ou as respostas SOAP grandes, podem fazer com que o separador do navegador fique lento ou não responda. Para o processamento de XML em grande escala, ferramentas de linha de comandos como o xmllint ou o Saxon são mais apropriadas.
A ferramenta funciona com espaços de nomes XML?
Sim. O DOMParser suporta plenamente os espaços de nomes XML tal como definidos pela especificação Namespaces in XML. Os prefixos de espaço de nomes (xmlns:ns="...") e os espaços de nomes predefinidos (xmlns="...") são analisados e preservados na saída formatada. Os elementos e atributos com espaço de nomes são apresentados com os seus prefixos intactos.
Posso usar esta ferramenta para formatar ficheiros SVG?
Sim. Os ficheiros SVG (Scalable Vector Graphics) são documentos XML bem formados e podem ser validados e formatados por esta ferramenta. Colar um SVG e formatá-lo é uma forma rápida de inspecionar a sua estrutura, verificar caminhos malformados ou rever os metadados incorporados. Repara que o formatador volta a serializar o XML, o que pode mudar a ordem dos atributos (embora isto não afete a renderização).
O que são as entidades XML, e preciso de escapar caracteres no meu conteúdo?
O XML define cinco referências de entidade predefinidas para os caracteres que têm um significado especial na sintaxe XML: &amp;amp; para &, &amp;lt; para <, &amp;gt; para >, &amp;apos; para ' e &amp;quot; para ". Estas têm de ser usadas sempre que o caractere literal aparece no conteúdo de texto de um elemento ou nos valores dos atributos. Usar um & ou um < em bruto dentro do conteúdo causará um erro de boa formação. Nas secções CDATA (envolvidas em <![CDATA[...]]>) o conteúdo é tratado como texto literal e não é necessário nenhum escape.
Qual é um erro comum que torna o XML inválido?
O erro mais frequente é usar um e comercial sem escape (&) no conteúdo de texto, por exemplo num URL como href="https://example.com/page?a=1&b=2", onde & tem de ser escrito como &amp;. Outros erros comuns incluem etiquetas de autofecho escritas sem a barra final (<br> em vez de <br />), incompatibilidade de maiúsculas e minúsculas nas etiquetas (<Item> fechada como </item>) e a falta de aspas em torno dos valores dos atributos. Ao contrário dos analisadores de HTML, os analisadores de XML recusam-se a continuar após qualquer um destes erros.

Sobre Validador e formatador de XML

Apesar da ascensão do JSON até dominar as API web, o XML continua profundamente integrado no software empresarial e de sistemas. Os serviços web SOAP, muito usados na banca, na saúde (HL7 FHIR) e em sistemas governamentais, transmitem mensagens XML. Os documentos do Microsoft Office (.docx, .xlsx) são arquivos ZIP de ficheiros XML. Os ficheiros de esquema de ecrã do Android e os descritores de projeto do Maven são XML. Os feeds RSS e Atom são XML. As imagens SVG são XML. Os sistemas de configuração como o Spring Framework, o Hibernate e os ficheiros de construção do Ant usam XML extensivamente. Qualquer programador que trabalhe com integrações antigas, sistemas empresariais ou formatos de documento irá encontrar XML com regularidade.

Esta ferramenta valida e formata XML inteiramente dentro do teu navegador usando a API DOMParser integrada do navegador, o mesmo motor que renderiza as páginas HTML. Analisa a tua entrada e reporta o primeiro erro de boa formação com o número da linha e da coluna para que possas localizar os problemas instantaneamente. O XML válido é depois novamente serializado com uma indentação coerente para produzir uma saída limpa e legível. Como todo o processamento acontece localmente, os teus documentos XML, que podem conter esquemas proprietários, credenciais em ficheiros de configuração ou dados comerciais sensíveis, nunca são enviados para nenhum servidor.

O XML é mais rigoroso do que o HTML em aspetos importantes que confundem quem é novo no formato. Cada elemento tem de ser corretamente fechado (ao contrário do HTML, que tolera etiquetas por fechar). Os valores dos atributos têm de estar sempre entre aspas. O documento tem de ter exatamente um elemento raiz. As cinco referências de entidade predefinidas (&amp;, &lt;, &gt;, &apos;, &quot;) têm de ser usadas para os caracteres literais correspondentes dentro do texto e dos valores dos atributos. O XML também distingue maiúsculas de minúsculas: <Tag> e <tag> são elementos diferentes. A boa formação (sintaxe correta) é um conceito separado da validade (conformidade com um esquema como XSD ou DTD), e esta ferramenta verifica apenas a primeira.

O XML e a busca de um formato de documento universal

O XML surgiu de um esforço de uma década para domar o SGML (Standard Generalised Markup Language), um padrão ISO poderoso mas enormemente complexo concebido originalmente para a documentação técnica no Departamento de Defesa dos Estados Unidos. O SGML era tão intrincado que apenas software especializado o conseguia processar. Em 1996, um grupo de trabalho do W3C liderado por Jon Bosak propôs-se criar um 10 % simplificado do SGML que cobrisse 90 % dos casos de uso, e fazê-lo numa forma que pudesse ser implementada num fim de semana em vez de em anos. O XML 1.0 tornou-se recomendação do W3C a 10 de fevereiro de 1998.

O final dos anos 90 e o início dos anos 2000 foram o auge do entusiasmo pelo XML. Os tecnólogos imaginavam o XML como a cola universal da internet: documentos, dados, configuração, mensagens e até a programação seriam todos XML. Os serviços web usariam envelopes SOAP (Simple Object Access Protocol) de XML. As aplicações descreveriam as suas interfaces em WSDL (Web Services Description Language), ele próprio um dialeto XML. O 'imposto dos parênteses angulares', a verbosidade da sintaxe XML, era visto como um preço que valia a pena pagar pela interoperabilidade universal.

A reação chegou com a ascensão do JSON em meados dos anos 2000. A compacidade do JSON e o seu mapeamento direto para objetos JavaScript tornaram-no drasticamente mais simples para os casos de uso das API web, e este depressa deslocou o XML nesse domínio. Contudo, o XML nunca desapareceu. Continua a ser o formato dominante na integração empresarial, nos formatos de documento (ODF, OOXML), nos sistemas de configuração e em qualquer lugar onde os esquemas, os espaços de nomes e a capacidade de misturar documento e dados sejam genuinamente valiosos. A linguagem de transformação XSLT e a linguagem de consulta XPath do W3C, ambas baseadas em XML, não têm equivalentes reais em JSON para as tarefas de transformação de documentos complexas.

Publicidade
Publicidade
Publicidade