Validatore XML
Verificate che un documento XML sia ben formato prima di pubblicare un feed, una sitemap, un file SVG o di configurazione. Il validatore esamina tag, attributi, annidamento e caratteri e segnala il primo problema con la relativa riga, colonna e spiegazione del parser, ad esempio un tag di chiusura non corrispondente. Per i documenti ben formati mostra l'elemento radice, il numero di elementi e attributi e la profondità di annidamento. Verifica la correttezza della struttura, non le regole DTD o XSD.
Domande frequenti
In cosa differisce XML ben formato da XML valido?
Un XML ben formato segue le regole di sintassi di base: un unico elemento radice, tag annidati e chiusi correttamente e attributi tra virgolette. Un XML valido rispetta anche un DTD o uno schema XML che definisce quali elementi sono consentiti. Questo strumento verifica la correttezza della struttura, requisito preliminare per ogni parser XML.
Che cosa viene controllato esattamente?
Il validatore controlla che ci sia esattamente un elemento radice, che ogni tag sia chiuso nell'ordine corretto, che i nomi dei tag e degli attributi siano consentiti, che i valori degli attributi siano tra virgolette e non ripetuti e che non compaiano caratteri estranei fuori dagli elementi. Sono accettati la dichiarazione XML, i commenti, le sezioni CDATA e le istruzioni di elaborazione.
Che cosa indicano i tipi di errore?
Gli errori rientrano in quattro gruppi: struttura del documento, tag, attributi e caratteri. La riga dell'errore indica il gruppo in linguaggio semplice, mentre la riga dei dettagli riporta la spiegazione esatta del parser, ad esempio quale tag era atteso. Entrambe includono la riga e la colonna del problema.
Perché un attributo senza valore viene rifiutato?
HTML consente attributi booleani come <input disabled>, ma XML richiede che ogni attributo abbia un valore tra virgolette. Scrivete disabled="disabled" oppure rimuovete l'attributo. La stessa regola si applica ai file SVG e XHTML.
Posso convalidare HTML con questo strumento?
Solo XHTML, ovvero HTML scritto come XML. HTML normale lascia elementi come <br> o <img> senza chiusura e consente attributi senza virgolette, cosa che XML non permette, quindi di solito verrà segnalato come non ben formato.
Le dichiarazioni DOCTYPE e le entità sono supportate?
Un DOCTYPE con dichiarazioni di entità viene accettato durante il controllo della sintassi, ma le entità non vengono mai espanse e non vengono recuperati file esterni. In questo modo il controllo è rapido e al sicuro dagli attacchi di espansione delle entità. Le entità predefinite, come & e <, sono sempre consentite.
Gli spazi dei nomi sono supportati?
I nomi con prefisso, come svg:rect o xsi:schemaLocation, sono accettati come nomi di elementi e attributi. Il validatore non risolve gli URI degli spazi dei nomi né controlla che ogni prefisso sia dichiarato.
Che cosa mostrano le statistiche di un documento valido?
L'elemento radice è il tag più esterno. Elements conta tutti gli elementi, inclusa la radice, mentre Attributes conta tutti gli attributi del documento. La profondità massima è il livello di annidamento più profondo, con la radice al livello 1. Questi numeri aiutano a verificare che un feed o un'esportazione contenga ciò che vi aspettate.
Come si contano i numeri di riga e colonna?
Entrambi partono da 1 dall'inizio dell'input. La posizione indica il punto in cui il parser ha rilevato il problema; nel caso di un tag non chiuso, può essere il tag di apertura stesso. Viene segnalato solo il primo errore.
Qual è la dimensione massima del file XML e posso convertirlo?
Gli input possono arrivare fino a 5 MiB. Per convertire un documento ben formato in JSON, YAML, CSV o in un altro formato, usate il Convertitore di formati dati o lo strumento da XML a JSON.