O que esta ferramenta verifica
A boa formação, termo da própria especificação para «sintaticamente XML»:
- exatamente um elemento raiz;
- cada tag fechada, e fechada na ordem em que foi aberta;
- valores de atributo entre aspas, e nenhum atributo repetido num elemento;
- nomes de elementos e atributos que comecem legalmente e contenham só caracteres legais;
- entidades e referências numéricas corretamente escritas;
- nenhum caractere proibido pelo XML.
Quando o documento passa, você recebe o elemento raiz e o tamanho. Quando não, recebe a queixa do analisador, com a linha e a coluna onde ele desistiu.
Bem formado não é válido
São duas palavras distintas na especificação XML, e confundi-las custa tempo real.
| verifica | |
|---|---|
| Bem formado | a sintaxe — o que esta ferramenta faz |
| Válido | a sintaxe e um esquema: DTD, XSD, RELAX NG |
Um documento pode ser impecavelmente bem formado e errado em tudo o que importa: um elemento exigido ausente, um elemento fora de lugar, <preco>banana</preco> onde um decimal foi declarado. Nada neste relatório diz o contrário, e nenhum verificador de boa formação pode dizer.
Se o que você precisa é validação por esquema, você precisa do esquema — e de uma ferramenta que o leia.
O DOCTYPE não é seguido
Uma referência <!DOCTYPE> é uma URL. Resolvê-la implicaria uma requisição de saída, que diria que este documento existe e quem o consulta. Aqui nada sai do seu navegador: o DOCTYPE é verificado como sintaxe e fica onde está.
É isso também que torna sem objeto os ataques por entidade externa: uma entidade que aponta para algum lugar nunca é buscada.
Uma instrução de processamento à frente não é problema
<?xml-stylesheet href="style.xsl"?> antes do elemento raiz é XML comum e válido, e o relatório nomeia o verdadeiro elemento raiz em vez da instrução.
A única regra de ordem imposta é a da especificação: a declaração XML, se houver, vem primeiro. Em outro lugar não é declaração nenhuma, e sim uma instrução de processamento chamada xml, e esse nome é reservado.
Privado por padrão
Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.