Formattatore e Validatore XML
Incolla l'XML per indentarlo con 2 spazi, 4 spazi o tabulazioni, comprimerlo su una sola riga, oppure scoprire perché non si analizza. L'XML ben formato torna con il numero di elementi, la profondità di annidamento e la dimensione; l'XML malformato torna con il messaggio del parser. Gratuito, senza registrazione, e l'XML non lascia mai il tuo browser.
Modalità
Come usare il formattatore XML
- 1. Scegli una modalità. Formatta rende leggibile l'XML con l'indentazione; Minimizza rimuove lo spazio bianco tra gli elementi.
- 2. Scegli un'indentazione. Per Formatta, scegli 2 spazi, 4 spazi o una tabulazione.
- 3. Incolla il tuo XML e premi il pulsante. Il risultato appare sotto con tre conteggi: elementi, profondità massima (la radice è al livello 1) e dimensione dell'output in caratteri.
- 4. Correggi gli errori, se mostrati. Se l'XML non è ben formato, non viene prodotto alcun output e il parser del browser segnala cosa ha trovato. Correggi l'XML e premi di nuovo il pulsante.
Ben formato rispetto a valido
Due cose diverse vengono chiamate «validare» l'XML. Un documento è ben formato se segue le regole di sintassi della Raccomandazione XML 1.0 del W3C; è valido se rispetta anche uno schema, come un DTD o un XSD. Questo strumento controlla solo che l'XML sia ben formato, usando il parser XML integrato nel tuo browser. Non legge DTD né schemi, quindi un documento ben formato ma sbagliato per la tua applicazione — per esempio con un elemento obbligatorio mancante — passa il controllo. Le regole che fa rispettare:
| Regola | Si rompe quando |
|---|---|
| Un solo elemento radice | Due elementi di primo livello, o testo prima della radice |
| Gli elementi sono annidati correttamente | <a><b></a></b> |
| Ogni tag di apertura ha un tag di chiusura | <a><b></a>, oppure <br> al posto di <br/> |
| I nomi fanno distinzione tra maiuscole e minuscole | <Title>…</title> |
| I valori degli attributi sono tra virgolette | <a id=1/> |
| Nessun attributo ripetuto su un elemento | <a id="1" id="2"/> |
< e & sono escapati nel testo | <a>5 < 6 & 7</a> dovrebbe essere 5 < 6 & 7 |
XML definisce esattamente cinque entità predefinite — <, >, &, ' e " — quindi un'entità HTML come è un errore, a meno che un DTD non la dichiari. Per un tag non chiuso, il messaggio — che è la formulazione del browser e varia da browser a browser — indica la coppia non corrispondente: in Chrome, <a><b></a> segnala un errore alla riga 1, colonna 11, con "Opening and ending tag mismatch: b line 1 and a".
Che cosa cambia il formattatore
Lo strumento analizza il tuo XML in un albero e lo riscrive, quindi l'output è XML equivalente con un layout più ordinato, non una copia del tuo testo. Aspettati queste differenze:
- Dichiarazione e DOCTYPE mantenuti. Una riga iniziale
<?xml …?>e una dichiarazione<!DOCTYPE …>, sottoinsieme interno incluso, vengono riscritte come le hai digitate. - Gli attributi mantengono il loro ordine ma vengono riscritti con virgolette doppie.
- Le entità vengono risolte.
'e i riferimenti a caratteri come©tornano come caratteri veri e propri; solo&,<e>nel testo, e"negli attributi, vengono di nuovo escapati. - Gli elementi vuoti si chiudono da soli.
<a></a>diventa<a/>quando non ha contenuto, mentre uno che contiene solo uno spazio resta<a></a>. - Commenti, sezioni CDATA e istruzioni di elaborazione vengono mantenuti.
Esempio svolto
Questo documento su una sola riga ha una dichiarazione, un attributo tra apici singoli, un commento e un elemento vuoto:
Input
<?xml version="1.0" encoding="UTF-8"?><library><book id='1'><title>APA Manual</title><year>2020</year><!-- note --></book><book id="2"/></library>
Formatta, 2 spazi
Nove righe e 172 caratteri: la dichiarazione, poi library al margine, ciascun book due spazi più a destra, e il titolo, l'anno e il commento quattro spazi più a destra. L'id del primo libro ora è scritto id="1".
Minimizza
Una riga di 146 caratteri.
Statistiche
5 elementi e una profondità massima di 3 (library, book, title).
Minimizza mantiene la dichiarazione e mette l'intero albero su una sola riga, quindi lo stesso documento si riduce da 172 a 146 caratteri. La scheda della dimensione dell'output mostra questi conteggi di caratteri.
Di quale strumento hai bisogno?
Questa pagina serve per l'XML. Per l'HTML, che tollera i tag non chiusi e mantiene gli spazi in linea, usa l'HTML Formatter. Per trasformare XML in dati JSON, lo strumento XML to JSON Converter, in arrivo, mostra come gli attributi e gli elementi ripetuti vengono mappati; per il JSON in sé, usa il Formattatore JSON.
Domande frequenti
- Che cosa fa un formattatore XML?
- Reindenta l'XML così che l'annidamento sia visibile, di solito con un elemento per riga. Questo strumento controlla anche che l'XML sia ben formato, perché deve analizzare il documento prima di poterlo riscrivere in un nuovo layout.
- Come funziona qui la validazione XML?
- Il parser XML integrato nel browser legge il testo. Se l'XML viola una regola di sintassi, viene mostrato l'errore del parser e non viene prodotto alcun output. Controlla solo che sia ben formato — non convalida rispetto a un DTD o a uno schema XSD.
- Commenti, sezioni CDATA e attributi vengono preservati?
- Sì: commenti e sezioni CDATA vengono riscritti come erano, e gli attributi mantengono il loro ordine, anche se le virgolette vengono normalizzate a virgolette doppie. Una dichiarazione DOCTYPE viene riscritta come l'hai digitata.
- Che cosa fa Minimizza?
- Rimuove lo spazio bianco e le interruzioni di riga tra gli elementi per ottenere il testo equivalente più breve, mantenendo la dichiarazione XML se presente. Il testo dentro gli elementi come
<title>conserva i suoi spazi, e così anche il testo accanto agli elementi figli, come in un paragrafo con una parola in grassetto. - Perché la formattazione cambia la spaziatura del mio testo?
- Solo quando si formatta contenuto misto — testo accanto a elementi figli, come un paragrafo con una parola in grassetto. Formatta taglia quel testo e mette ogni pezzo su una riga propria, il che cambia lo spazio bianco; Minimizza lo mantiene. L'XML di tipo dati, dove gli elementi contengono o testo o altri elementi, non è toccato.
- Perché il mio XML con non funziona?
- XML ha solo cinque entità predefinite, e
non è una di esse. Sostituiscilo con il riferimento numerico , oppure dichiara l'entità in un DTD. - Il mio XML viene caricato su un server?
- No. L'analisi e la formattazione avvengono nel tuo browser e nulla di ciò che incolli viene inviato da qualche parte.