100 % locale — i tuoi dati non lasciano mai il tuo browser

Formattatore XML — leggi un documento su una riga

Indenta XML senza toccare quello che dice. Un elemento che mischia testo e figli tiene la sua riga: in XML quegli spazi sono contenuto.

Istantaneo Privato Zero cookie
Indentazione

Input XML

Output XML

Che cosa fa questo strumento

Il contenuto di elementi viene indentato; il contenuto testuale no.

<biblioteca><libro><titolo>Dune</titolo></libro></biblioteca>

diventa

<biblioteca>
  <libro>
    <titolo>Dune</titolo>
  </libro>
</biblioteca>

La regola che conta

Un elemento che mescola testo ed elementi figli resta su una sola riga, esattamente come è stato scritto.

<p>Ciao <b>mondo</b> ancora</p>

Resta così. Il motivo è la differenza tra XML e HTML che sorprende di più: l’HTML riduce gli spazi, l’XML no. Un ritorno a capo inserito tra Ciao e <b> non è presentazione in XML: sono dati carattere, e restano nel documento per chi lo leggerà dopo.

Un formattatore che indenta dentro il contenuto misto non abbellisce il documento: ne modifica il testo. Questo indenta l’elemento come blocco e lascia stare il suo interno.

Che cosa conta come indentazione

Soltanto un nodo di testo interamente bianco, che contenga un ritorno a capo, e che stia in un elemento senza testo significativo proprio. Tutto il resto è contenuto.

Uno spazio singolo tra due elementi della stessa riga — <b>x</b> <i>y</i> — viene conservato. Nulla nel documento dice che sia trascurabile, e conservarlo costa un carattere.

xml:space="preserve" sospende tutto questo, per quell’elemento e per tutto ciò che contiene.

Il prologo torna come l’hai scritto

La dichiarazione, il DOCTYPE e ogni istruzione di elaborazione sono copiati alla lettera:

<?xml version="1.1" encoding="ISO-8859-1" standalone="yes"?>
<!DOCTYPE biblioteca SYSTEM "biblioteca.dtd">
<?xml-stylesheet href="style.xsl"?>

Tutti e tre sopravvivono. Riscrivere una dichiarazione in version="1.0" encoding="UTF-8" — come fanno molti strumenti — rietichetta il documento, e rietichettare cambia la lettura dei suoi byte.

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.

Domande frequenti

Perché il mio elemento <p> è rimasto su una riga?
Perché mescola testo ed elementi figli. L’XML non ha un equivalente della riduzione degli spazi dell’HTML: un ritorno a capo aggiunto tra `Ciao` e `<b>` diventa parte del testo e ci resta. L’elemento viene indentato come blocco, e il suo interno lasciato esattamente come l’hai scritto.
La formattazione cambia il mio documento?
No. Viene riscritto solo lo spazio che è pura indentazione: un nodo di testo interamente bianco, con un ritorno a capo, in un elemento privo di testo significativo. Tutto il resto, comprese le zone `xml:space="preserve"`, torna carattere per carattere. Formattare e poi minificare restituisce il documento di partenza.
La mia dichiarazione dice ISO-8859-1. Verrà riscritta?
No. Il prologo — dichiarazione, DOCTYPE, istruzioni di elaborazione — è copiato alla lettera. Rietichettare un documento ISO-8859-1 come UTF-8 cambierebbe la lettura dei suoi byte: versione, codifica e `standalone` restano come li hai dichiarati.

Convertitori correlati