Che cosa verifica questo strumento
La buona formazione, termine della specifica per «sintatticamente XML»:
- esattamente un elemento radice;
- ogni tag chiuso, e chiuso nell’ordine in cui è stato aperto;
- valori di attributo tra virgolette, e nessun attributo ripetuto su un elemento;
- nomi di elementi e attributi che inizino lecitamente e contengano solo caratteri leciti;
- entità e referenze numeriche scritte correttamente;
- nessun carattere vietato dall’XML.
Se il documento passa, ottieni il suo elemento radice e la sua dimensione. Altrimenti ottieni la protesta del parser, con la riga e la colonna in cui si è arreso.
Ben formato non è valido
Sono due parole diverse nella specifica XML, e confonderle costa tempo vero.
| verifica | |
|---|---|
| Ben formato | la sintassi — ciò che fa questo strumento |
| Valido | la sintassi e uno schema: DTD, XSD, RELAX NG |
Un documento può essere impeccabilmente ben formato e sbagliato in tutto ciò che conta: un elemento richiesto assente, un elemento fuori posto, <prezzo>banana</prezzo> dove era dichiarato un decimale. Nulla in questo rapporto dice il contrario, e nessun verificatore di buona formazione può dirlo.
Se ti serve la validazione con schema, ti serve lo schema — e uno strumento che lo legga.
Il DOCTYPE non viene seguito
Un riferimento <!DOCTYPE> è un URL. Risolverlo significherebbe una richiesta in uscita, che direbbe che questo documento esiste e chi lo consulta. Qui nulla lascia il tuo browser: il DOCTYPE è controllato come sintassi e resta dov’è.
È anche ciò che rende privi di oggetto gli attacchi tramite entità esterne: un’entità che punta da qualche parte non viene mai risolta.
Un’istruzione di elaborazione davanti non è un problema
<?xml-stylesheet href="style.xsl"?> prima dell’elemento radice è XML ordinario e valido, e il rapporto nomina il vero elemento radice anziché l’istruzione.
L’unica regola d’ordine imposta è quella della specifica: la dichiarazione XML, se c’è, viene per prima. Altrove non è affatto una dichiarazione ma un’istruzione di elaborazione chiamata xml, e quel nome è riservato.
Privato per progettazione
Tutto viene eseguito localmente nel browser con JavaScript. I tuoi dati non vengono mai caricati, quindi lo strumento è sicuro per contenuti sensibili e funziona anche offline.