100 % lokal — Ihre Daten verlassen nie Ihren Browser

XML-Formatter — ein einzeiliges Dokument lesen

XML einrücken, ohne dass sich der Inhalt verschiebt. Ein Element mit Text und Kindern behält seine Zeile — in XML sind diese Leerzeichen Inhalt.

Sofort Privat Null Cookies
Einrückung

XML-Eingabe

XML-Ausgabe

Was dieses Werkzeug tut

Elementinhalt wird eingerückt; Textinhalt nicht.

<bibliothek><buch><titel>Dune</titel></buch></bibliothek>

wird zu

<bibliothek>
  <buch>
    <titel>Dune</titel>
  </buch>
</bibliothek>

Die Regel, auf die es ankommt

Ein Element, das Text und Kindelemente mischt, bleibt in einer einzigen Zeile, genau wie geschrieben.

<p>Hallo <b>Welt</b> nochmal</p>

Das bleibt so. Der Grund ist der Unterschied zwischen XML und HTML, der die meisten überrascht: HTML lässt Whitespace zusammenfallen, XML nicht. Ein zwischen Hallo und <b> eingefügter Zeilenumbruch ist in XML keine Darstellung — er sind Zeichendaten, und sie bleiben im Dokument für den Nächsten, der es liest.

Ein Formatierer, der innerhalb von gemischtem Inhalt einrückt, macht das Dokument also nicht hübscher; er ändert dessen Text. Dieser rückt das Element als Block ein und lässt sein Inneres in Ruhe.

Was als Einrückung zählt

Nur ein Textknoten, der vollständig leer ist, einen Zeilenumbruch enthält und in einem Element ohne eigenen bedeutsamen Text sitzt. Alles andere ist Inhalt.

Ein einzelnes Leerzeichen zwischen zwei Elementen derselben Zeile — <b>x</b> <i>y</i> — bleibt erhalten. Nichts im Dokument sagt, dass es entbehrlich ist, und es zu behalten kostet ein Zeichen.

xml:space="preserve" setzt all das aus, für dieses Element und alles darunter.

Der Prolog kommt zurück, wie Sie ihn geschrieben haben

Deklaration, DOCTYPE und jede Verarbeitungsanweisung werden wörtlich übernommen:

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

Alle drei überleben. Eine Deklaration zu version="1.0" encoding="UTF-8" umzuschreiben — was viele Werkzeuge tun — etikettiert das Dokument um, und Umetikettieren ändert, wie seine Bytes gelesen werden.

Datenschutz ab Werk

Alles läuft lokal in deinem Browser mit JavaScript. Deine Daten werden nie hochgeladen, wodurch das Tool auch für sensible Inhalte sicher ist und offline funktioniert.

Häufige Fragen

Warum blieb mein <p>-Element in einer Zeile?
Weil es Text und Kindelemente mischt. XML kennt kein Gegenstück zum Whitespace-Kollaps von HTML: ein zwischen `Hallo` und `<b>` eingefügter Zeilenumbruch wird Teil des Textes und bleibt dort. Das Element wird als Block eingerückt, sein Inneres bleibt genau so, wie Sie es geschrieben haben.
Verändert das Formatieren mein Dokument?
Nein. Umgeschrieben wird nur Whitespace, der reine Einrückung ist: ein vollständig leerer Textknoten mit Zeilenumbruch, in einem Element ohne eigenen bedeutsamen Text. Alles andere, auch `xml:space="preserve"`-Bereiche, kommt Zeichen für Zeichen zurück. Formatieren und danach minifizieren ergibt das Ausgangsdokument.
Meine Deklaration sagt ISO-8859-1. Wird sie umgeschrieben?
Nein. Der Prolog — Deklaration, DOCTYPE, Verarbeitungsanweisungen — wird wörtlich übernommen. Ein ISO-8859-1-Dokument als UTF-8 umzuetikettieren würde ändern, wie seine Bytes gelesen werden: Version, Kodierung und `standalone` bleiben, wie Sie sie deklariert haben.

Ähnliche Konverter