Informazioni su questo strumento
La formattazione XML rientra negli elementi nidificati in modo che la gerarchia del documento diventi visibile. XML compatto – tutto su una riga – è tecnicamente valido e utile per la trasmissione, ma illeggibile per gli esseri umani. L'XML formattato aggiunge interruzioni di riga tra gli elementi e rientra i figli all'interno dei loro genitori, rendendolo scansionabile, diffabile e modificabile a mano.
Questo formattatore analizza l'input utilizzando DOMParser per confermare la corretta formazione, quindi percorre il DOM risultante per emettere un output rientrato. I commenti, le istruzioni di elaborazione e le sezioni CDATA vengono conservati. I tag a chiusura automatica (quelli senza figli) vengono mantenuti compatti su un'unica riga; i tag con figli sono distribuiti su più righe con i figli rientrati.
Il rientro a due spazi è quello predefinito e corrisponde alla convenzione XML più comune. Il formattatore è conservativo riguardo alla riformattazione: la struttura esistente viene preservata, cambia solo lo spazio bianco tra gli elementi. I dati circolano attraverso qualsiasi parser XML in modo identico prima e dopo la formattazione.
Perché formattare XML
L'XML compatto è illeggibile. Le risposte SOAP, i feed RSS e molti file di configurazione arrivano come XML a riga singola tecnicamente valido ma praticamente opaco. La formattazione rivela la struttura del documento, consente di individuare elementi specifici e rende significative le differenze nel controllo della versione.
La formattazione serve anche come controllo di validità. Se l'analisi XML non riesce durante la formattazione, il messaggio di errore identifica il problema: in genere tag non chiusi, nomi di elementi non corrispondenti o caratteri non validi. La cattura degli errori XML prima dell'invio a un consumatore rigoroso consente di risparmiare tempo di debug.
Dettagli tecnici
DOMParser produce un DOM XML. Il formattatore percorre l'albero in profondità, emettendo tag di apertura, figli rientrati e tag di chiusura. Gli attributi dell'elemento vengono conservati nel tag di apertura; l'ordine degli attributi corrisponde alla fonte.
Gli spazi bianchi significativi all'interno dei nodi di testo vengono conservati: il formattatore non può modificare in modo sicuro gli spazi bianchi del contenuto perché potrebbero essere significativi (le regole di conservazione dello spazio XML differiscono tra gli schemi). Cambia solo lo spazio bianco tra gli elementi.
Gli elementi a chiusura automatica (senza figli) emettono come <tag attr="val"/>. Gli elementi con solo contenuto testuale vengono emessi come <tag>testo</tag>. Gli elementi con elementi figli vengono emessi su più righe con figli rientrati. Le sezioni, i commenti e le istruzioni di elaborazione CDATA vengono emessi con i delimitatori e il contenuto originali.
Domande frequenti
- Quali errori XML rileva?
- Lo strumento rileva tag non chiusi, tag di apertura/chiusura non corrispondenti, riferimenti a caratteri non validi, elementi radice mancanti, attributi non validi e problemi di codifica. I messaggi di errore includono numeri di riga per aiutarti a individuare i problemi.
- La formattazione modifica il contenuto XML?
- La formattazione regola solo gli spazi bianchi e il rientro tra gli elementi. Il contenuto degli elementi, gli attributi, le sezioni CDATA e le istruzioni di elaborazione vengono conservati esattamente come immessi.
- Può gestire file XML di grandi dimensioni?
- Lo strumento gestisce file fino a diversi megabyte nel browser. Per documenti XML molto grandi (50 MB+), considera l'utilizzo di strumenti da riga di comando come xmllint per prestazioni migliori.
- Supporta gli spazi dei nomi XML?
- SÌ. Il formattatore gestisce correttamente le dichiarazioni degli spazi dei nomi (xmlns), gli elementi con prefisso e gli spazi dei nomi predefiniti. Gli spazi dei nomi vengono conservati nell'output formattato.
- Gli spazi dei nomi vengono conservati?
- SÌ. Gli attributi xmlns e xmlns:prefix vengono conservati sugli elementi in cui appaiono nell'origine.
- Posso minimizzare XML su una singola riga?
- Alcuni formattatori XML offrono la minimizzazione. Questo strumento si concentra sulla formattazione; L'XML minimizzato può essere prodotto eliminando gli spazi bianchi tra gli elementi con una regex o uno strumento dedicato.
- Il mio XML è caricato su un server?
- No. DOMParser viene eseguito nel tuo browser; il formattatore viene eseguito nel tuo browser.
- Gli spazi bianchi all'interno dei nodi di testo cambieranno?
- No. Gli spazi bianchi del nodo testo vengono conservati perché le regole di conservazione dello spazio XML variano in base allo schema. Il formattatore modifica solo gli spazi bianchi tra gli elementi.