Was ist XML-Formatierung?
XML (Extensible Markup Language) ist ein vom W3C standardisiertes Textformat für strukturierte Dokumente und Datenaustausch. Das Formatieren — auch Pretty-Printing oder Verschönern genannt — nimmt eine wohlgeformte XML-Quelle und rückt sie neu ein, sodass jedes Element, Attribut, jeder Kommentar, jede Verarbeitungsanweisung und jeder CDATA-Abschnitt leicht zu überfliegen ist. Der geparste Dokumentbaum bleibt exakt erhalten; nur die Leerzeichen zwischen den Elementen ändern sich.
Wie funktioniert die XML-Formatierung?
Deine Eingabe wird vollständig in deinem Browser verarbeitet, und zwar mit den nativen APIs DOMParser und XMLSerializer sowie einem eigenen rekursiven Einrücker. Die wichtigsten Schritte sind:
- Deine Eingabe wird wortgetreu aus dem Textfeld gelesen — jedes eingefügte Byte bleibt lokal im Speicher.
- Der Browser parst sie mit
new DOMParser().parseFromString(text, 'application/xml'). Ist die Eingabe nicht wohlgeformt, bettet der Parser einen<parsererror>-Knoten ein, dessen Textinhalt die Zeilen- und Spaltenhinweise der Engine trägt — sie werden unverändert in der Fehlerzeile angezeigt. - Bei erfolgreichem Parsing läuft ein eigener Einrücker tiefenorientiert durch den DOM-Baum und gibt jedes Element, jeden Attributsatz, jeden CDATA-Abschnitt, Kommentar und jede Verarbeitungsanweisung in einer eigenen Zeile in der aktuellen Tiefe aus. Selbstschließende leere Tags werden berücksichtigt, wenn die Option aktiv ist.
- Der Modus Minimieren kehrt die Pipeline um:
XMLSerializer().serializeToString(doc)erzeugt eine einzeilige Form, dann entfernt ein abgesicherter regulärer Ausdruck die Leerzeichen zwischen Elementen, ohne den Text innerhalb von CDATA-Blöcken oder nicht-leeren Textknoten zu berühren. - Die Ausgabe wird in das schreibgeschützte Textfeld geschrieben, die Fehlerzeile geleert und der Download-Button verpackt das Ergebnis als
.xml-Datei, die du ausliefern oder an ein Ticket hängen kannst.
Warum XML mit diesem Tool hübsch ausgeben?
- Datenschutz: jeder Parse-, Format- und Minimierungslauf passiert in deinem Browser. Das XML erreicht unsere Server nicht — kein Upload, keine Telemetrie, kein Konto.
- Präzise Fehler: bei fehlerhafter Eingabe meldet der Parser exakt die Zeile und Spalte, die die Browser-Engine selbst angibt, keinen synthetischen Schätzwert — dieselben Nummern, die du in den DevTools sehen würdest.
- Treuer Round-Trip: formatieren und anschließend minimieren liefert das byte-äquivalente Original (modulo der Option zur XML-Deklaration) — die Formatierung re-kanonisiert nie Namensräume und ordnet keine Attribute um.
- Schnell: reiner DOMParser plus ein etwa 60 Zeilen langer Einrücker bewältigen mehrere Megabyte große SOAP-Envelopes und OOXML-Fragmente sofort, ohne externe Bibliothek zum Herunterladen.
Was sind häufige Anwendungen der XML-Formatierung?
Hübsche XML-Ausgaben tauchen in Webpublishing, Unternehmensintegration und Datenarchivierung auf:
- RSS-/Atom-Feed-Inspektion: füge den Body eines Podcast- oder News-Feeds ein, um Channel-Metadaten, Item-Reihenfolge und Namespace-Präfixe vor der Veröffentlichung zu prüfen.
- SOAP-Debugging: formatiere eine aus Wireshark oder einem SOAP-Client-Log kopierte Envelope, sodass Header-, Body- und Fault-Abschnitt auf einen Blick sichtbar sind.
- Sitemap-Audit: rücke eine sitemap.xml eines Wettbewerbers oder deiner Staging-Umgebung neu ein, um Einträge zu zählen und hreflang-Alternates pro URL zu bestätigen.
Wie sieht ein Beispiel für XML-Formatierung aus?
Wer ein dreielementiges <feed><entry><title>Hello</title></entry></feed> einfügt und Formatieren mit der 2-Leerzeichen-Option drückt, erhält ein vierzeiliges Dokument, in dem jedes Element in einer eigenen Zeile steht und nach Tiefe eingerückt ist. Schaltet man bei derselben Eingabe auf Minimieren um, klappt sie wieder zur ursprünglichen Byte-Zeichenkette zusammen. Der Round-Trip ist für jedes wohlgeformte Dokument verlustfrei.
Funktioniert das offline?
Ja. Die Format- und Minimierungspipeline besteht ausschließlich aus DOMParser + XMLSerializer sowie einem winzigen rekursiven Einrücker, und alles läuft innerhalb des Browser-Tabs. Nichts wird hochgeladen, kein Service Worker leitet deine Eingabe weiter, und die Seite stellt für den Formatschritt selbst keine einzige Netzwerkanfrage. Der einzige ausgehende Verkehr sind die Standardressourcen beim Seitenladen (CSS, Fonts, Analytics) — dein XML erreicht Ultim8Soft nie.
Ändert das Formatieren das Dokument?
Keine semantische Änderung. Das Formatieren schreibt nur die Leerzeichen zwischen Elementen neu. Elementnamen, Attributwerte, Textinhalte, CDATA-Inhalte, Kommentare und Verarbeitungsanweisungen bleiben Byte für Byte erhalten. Namensraumdeklarationen und Präfixe bleiben exakt so, wie sie die Eingabe geschrieben hat — der Formatierer re-kanonisiert nicht und ordnet keine Attribute um. Die Ausgabe parst zum selben DOM-Baum wie die Eingabe, modulo des optionalen Schalters für die XML-Deklaration.
Wie werden CDATA / Kommentare / Verarbeitungsanweisungen behandelt?
Jedes wird wortgetreu in einer eigenen Zeile in der aktuellen Einrücktiefe ausgegeben. CDATA-Inhalte werden in <![CDATA[…]]> eingewickelt, ohne interne Neueinrückung — die Spezifikation sagt, dass CDATA-Inhalt opak ist, also rührt ihn der Formatierer nie an. Kommentare nutzen <!-- … -->; Verarbeitungsanweisungen nutzen <?target data?>. Alle drei überstehen einen Round-Trip aus Formatieren → Minimieren → Formatieren mit unverändertem Inhalt.
Was ist der Unterschied zwischen Formatieren und Minimieren von XML?
Formatieren weitet die Leerzeichen, damit Menschen den Dokumentbaum lesen können; Minimieren entfernt sie wieder für Transport und Speicherung. Beide arbeiten auf dem geparsten DOM, nicht auf der rohen Bytefolge, daher liefert ein Round-Trip Formatieren → Minimieren auf einem wohlgeformten Dokument das byte-äquivalente Original in minimierter Form. Nimm die Formatierrichtung, wenn du eine XML-Nutzlast lesen oder vergleichen musst, und die Minimierungsrichtung, wenn du sie über ein abgerechnetes API Gateway versenden oder in ein anderes Dokument einbetten willst.
Dieser XML-Formatierer parst mit derselben Engine, die dein Browser für AJAX-XHR-Antworten und SVG-Dokumente verwendet, daher liefert jedes wohlgeformte XML — RSS, Atom, SOAP, Sitemap, OOXML, SVG — einen sauberen Round-Trip. Füge oben beliebiges XML ein, kopiere die Ausgabe oder lade sie als .xml herunter.