§

Incolla XML

§

Opzioni

Modalità
Indentazione
Dichiarazione XML
Tag vuoti auto-chiusi
§

Output formattato

xml

Stampare XML leggibile è quotidiano per chi sviluppa in Italia: la FatturaPA inviata al Sistema di Interscambio (SdI) viaggia come XML firmato in formato CADES o XADES, e i commercialisti che integrano con i gestionali Aruba, TeamSystem o Zucchetti validano gli XSD ogni giorno. ENI e UniCredit espongono ancora servizi SOAP legacy avvolti in XML, mentre i feed RSS de Il Sole 24 Ore e Corriere della Sera alimentano lettori e podcatcher. Banca d'Italia accetta depositi XBRL in XML dalle banche vigilate, AGID pubblica schemi XML per i servizi pubblici sull'ANPR e su pagoPA, e i bandi MePA su Acquisti in Rete viaggiano come XML strutturato secondo il modello CIG.

Che cos'è la formattazione XML?

XML (Extensible Markup Language) è un formato di testo standardizzato dal W3C per documenti strutturati e scambio di dati. Formattare — chiamato anche pretty-printing o abbellimento — prende una sorgente XML ben formata e la rindenta in modo che ogni elemento, attributo, commento, istruzione di elaborazione e sezione CDATA sia facile da scorrere. L'albero del documento analizzato è preservato esattamente; cambia solo lo spazio bianco tra gli elementi.

Come funziona la formattazione XML?

Il tuo input viene elaborato interamente nel browser tramite le API native DOMParser e XMLSerializer, più un indentatore ricorsivo personalizzato. I passaggi principali sono:

  1. Il tuo input viene letto letteralmente dall'area di testo — ogni byte incollato rimane in memoria localmente.
  2. Il browser lo analizza con new DOMParser().parseFromString(text, 'application/xml'). Se l'input non è ben formato, il parser inserisce un nodo <parsererror> il cui testo contiene le indicazioni di riga e colonna del motore — vengono mostrate tali e quali nella barra di errore.
  3. Con un'analisi riuscita, un indentatore personalizzato percorre l'albero DOM in profondità ed emette ogni elemento, set di attributi, sezione CDATA, commento e istruzione di elaborazione sulla propria riga alla profondità corrente. I tag vuoti auto-chiusi vengono onorati quando l'opzione è attiva.
  4. La modalità Minifica inverte la pipeline: XMLSerializer().serializeToString(doc) produce una forma su una sola riga, poi una regex protetta rimuove lo spazio bianco tra elementi senza toccare il testo all'interno dei blocchi CDATA o dei nodi di testo non vuoti.
  5. L'output viene scritto nell'area di testo in sola lettura, la barra di errore viene svuotata e il pulsante Scarica impacchetta il risultato come file .xml che puoi spedire o allegare a un ticket.

Perché stampare XML leggibile con questo strumento?

  • Privacy: ogni passaggio di analisi, formattazione e minificazione avviene nel tuo browser. L'XML non raggiunge mai i nostri server — nessun upload, nessuna telemetria, nessun account.
  • Errori precisi: quando l'input è malformato, il parser mostra la riga e la colonna esatte segnalate dal motore del browser stesso, non una stima sintetica — gli stessi numeri che vedresti nei DevTools.
  • Round-trip fedele: formatta e poi minifica e otterrai l'equivalente in byte del documento originale (modulo l'opzione di dichiarazione XML) — la formattazione non ri-canonicalizza mai i namespace né riscrive l'ordine degli attributi.
  • Veloce: il puro DOMParser più un indentatore di circa 60 righe gestiscono envelope SOAP da diversi megabyte e blocchi OOXML all'istante, senza librerie esterne da scaricare.

Quali sono le applicazioni comuni della formattazione XML?

Stampare XML leggibile compare nella pubblicazione web, nell'integrazione enterprise e nell'archiviazione dei dati:

  • Ispezione di feed RSS / Atom: incolla il body di un podcast o di un feed di notizie per confermare i metadati del canale, l'ordine degli item e i prefissi di namespace prima di pubblicare.
  • Debug SOAP: formatta un envelope copiato da Wireshark o dal log di un client SOAP in modo che le sezioni Header, Body e Fault siano visibili a colpo d'occhio.
  • Audit di sitemap: rindenta un sitemap.xml scaricato da un concorrente o dal tuo staging per contare le voci e confermare gli alternates hreflang per URL.

Com'è fatto un esempio di formattazione XML?

Incollare un <feed><entry><title>Hello</title></entry></feed> di tre elementi e premere Formatta con l'opzione di indentazione a 2 spazi produce un documento di quattro righe con ogni elemento sulla propria riga, indentato per profondità. Passare a Minifica sullo stesso input lo ricomprime alla stringa di byte originale. Il round-trip è lossless per qualsiasi documento ben formato.

Funziona offline?

Sì. La pipeline di formattazione e minificazione è puramente DOMParser + XMLSerializer più un piccolo indentatore ricorsivo, tutto eseguito all'interno della scheda del browser. Niente viene caricato, nessun service worker fa da proxy al tuo input e la pagina non effettua alcuna richiesta di rete per il passo di formattazione vero e proprio. L'unico traffico in uscita sono le risorse standard di caricamento della pagina (CSS, font, analytics) — il tuo XML non raggiunge mai Ultim8Soft.

La formattazione modifica il documento?

Nessuna modifica semantica. La formattazione riscrive solo lo spazio bianco tra gli elementi. Nomi di elementi, valori di attributi, contenuto testuale, payload CDATA, commenti e istruzioni di elaborazione sono preservati byte per byte. Le dichiarazioni e i prefissi di namespace sono mantenuti esattamente come li ha scritti l'input — il formattatore non ri-canonicalizza né riordina gli attributi. L'output si analizza nello stesso albero DOM dell'input, modulo l'interruttore opzionale della dichiarazione XML.

Come vengono gestiti CDATA / commenti / istruzioni di elaborazione?

Ciascuno è emesso letteralmente sulla propria riga alla profondità di indentazione corrente. I payload CDATA sono avvolti in <![CDATA[…]]> senza rindentazione interna — la specifica dice che il contenuto CDATA è opaco, quindi il formattatore non lo tocca mai. I commenti usano <!-- … -->; le istruzioni di elaborazione usano <?target data?>. Tutti e tre sopravvivono a un round-trip formatta → minifica → formatta con il contenuto intatto.

Qual è la differenza tra formattare e minificare XML?

Formattare espande lo spazio bianco affinché gli umani possano leggere l'albero del documento; minificare lo rimuove di nuovo per il trasporto e la memorizzazione. Entrambi operano sul DOM analizzato, non sulla stringa di byte grezza, perciò un round-trip formatta → minifica su un documento ben formato produce l'equivalente in byte della forma minificata originale. Usa la direzione formatta quando devi leggere o fare diff su un payload XML, e la direzione minifica quando vuoi spedirlo attraverso un API Gateway a consumo o incorporarlo in un altro documento.

Questo formattatore XML analizza con lo stesso motore che il tuo browser usa per le risposte XHR AJAX e i documenti SVG, quindi qualsiasi XML ben formato — RSS, Atom, SOAP, sitemap, OOXML, SVG — fa round-trip in modo pulito. Incolla qualsiasi XML sopra, copia l'output o scaricalo come .xml.