XML Formatter

Der XML Formatter formatiert, validiert und minifiziert XML komplett in deinem Browser – zeigt dir Zeile und Spalte jedes Fehlers und rückt keinen Whitespace neu ein, der in Wahrheit zu deinen Daten gehört.

Kostenlos · Ohne Anmeldung · Nichts verlässt deinen Browser

Formatiert und validiert XML komplett in deinem Browser. Zu jedem Fehler bekommst du die genaue Zeile und Spalte – und ein Element, dessen Whitespace zu den Daten gehört, wird nicht stillschweigend neu eingerückt. Genau das machen die anderen Formatter mit dir, ohne ein Wort zu sagen.

2 Zeilen · 329 Zeichen

9 Zeilen · 356 Zeichen

  • OKWohlgeformt

    Jeder Tag ist geschlossen und korrekt verschachtelt, jedes Attribut steht in Anführungszeichen, und kein reserviertes Zeichen ist unescaped. Nur Wohlgeformtheit – eine Validierung gegen ein Schema oder eine DTD braucht das Schema, und das hat diese Seite nicht.

  • PrüfenMixed Content – Whitespace ist hier Daten

    <summary> enthält sowohl Text als auch Kindelemente. Würde man es einrücken, kämen Zeilenumbrüche und Leerzeichen in den Text selbst, und es änderte sich, was das Dokument aussagt – deshalb wird es genau so wiedergegeben, wie du es geschrieben hast.

    Die meisten Online-Formatter rücken solche Elemente trotzdem neu ein. Wenn du schon einmal ein Dokument in einen eingefügt hast und danach verirrte Leerzeichen im Text gefunden hast: Das ist der Grund.

  • PrüfenNamespaces

    Verwendet, aber nie deklariert: soap: – ein Parser, der Namespaces durchsetzt, lehnt dieses Dokument ab, viele nachsichtige akzeptieren es aber. Deshalb bleibt es so lange unbemerkt.

    • dc: → http://purl.org/dc/elements/1.1/
Wurzel
catalog · mit XML-Deklaration
Elemente
8 · Verschachtelungstiefe 4
Namespaces
1 · 1 nicht deklariert
Größe
108 % · 356 von 329 Zeichen

Alles läuft in deinem Browser – das Dokument wird nie hochgeladen, geloggt oder gespeichert. In XML stecken oft Kundendaten, Rechnungen und API-Payloads. Ein guter Grund, es nicht auf den Server von jemand anderem zu kopieren, nur um Einrückungen hinzuzufügen.

Tekk lässt Loops über deine Codebase laufen, die finden, was sich verbessern lässt, und deinem Coding-Agent die Spec übergeben, sobald du es mit Greenlight freigibst – für den Fall, dass das Problem die Integration ist, nicht die Einrückung.

So funktioniert’s

  1. 1

    Einfügen und das Ergebnis lesen

    Formatiert wird beim Tippen, ohne Absenden-Button und ohne Upload. Ist das Dokument nicht wohlgeformt, gibt dir dieser XML Formatter Zeile und Spalte, die betroffene Quellzeile und was du dagegen tun kannst – nicht nur das eine Wort „invalid“, das Browser und die meisten Online-Tools ausgeben.

  2. 2

    Prüf die Warnung zu Mixed Content

    Ein Element, das Text und Kindelemente zugleich enthält – ein Satz mit <em>Betonung</em> darin –, trägt Whitespace, der zu den Daten gehört. Darin einzurücken ändert, was das Dokument aussagt. Solche Elemente werden genau so wiedergegeben, wie du sie geschrieben hast, und du erfährst, welche es waren.

  3. 3

    Schau dir das Namespace-Panel an

    Deklarierte Präfixe, welche davon nie verwendet wurden, und – das, was wehtut – Präfixe, die verwendet, aber nie deklariert wurden. Nachsichtige Parser akzeptieren sie, strikte lehnen das Dokument ab. Deshalb überlebt der Bug so lange, bevor es jemand merkt.

Was andere XML Formatter falsch machen

XML hat zwei Arten von Whitespace, und die sind nicht austauschbar.

Zwischen Elementen ist Whitespace bedeutungslos – Dekoration fürs menschliche Auge. Ein Formatter darf ihn beliebig hinzufügen, entfernen und umsortieren. Das ist sein ganzer Job.

In einem Element, das Text und Kindelemente zugleich enthält, ist Whitespace Daten. Ein Beispiel:

<summary>Height adjustable from <min>65cm</min> to <max>129cm</max>, motorised.</summary>

Naiv schön formatiert wird daraus:

<summary>
  Height adjustable from
  <min>65cm</min>
  to
  <max>129cm</max>
  , motorised.
</summary>

Der Satz enthält jetzt Zeilenumbrüche und führende Leerzeichen, die er vorher nicht hatte. Gerendert ergibt das „Height adjustable from 65cm to 129cm , motorised.“ – achte auf das Leerzeichen vor dem Komma. Das Dokument sagt nicht mehr, was es gesagt hat.

Diese Seite erkennt solche Elemente, gibt sie genau so wieder, wie sie geschrieben wurden, und sagt dir dann, welche sie in Ruhe gelassen hat. Alles drumherum wird trotzdem normal eingerückt.

Am wichtigsten ist das in dokumentartigem XML – DocBook, DITA, XHTML, RSS-Beschreibungen – und selten in maschinell erzeugten Feeds. Deshalb muss ein Formatter es erkennen, statt es anzunehmen.

Fehler, mit einer Stelle zum Nachsehen

Browser melden XML-Fehler als Satz in einer HTML-Seite, in jeder Engine anders formuliert. Die meisten Online-Formatter sagen nur, das Dokument sei ungültig.

Jeder Fehler hier kommt mit Zeile, Spalte, der betroffenen Quellzeile und dem, was zu tun ist:

Fehler Was er meistens bedeutet
Unescaptes & im Text Ein nacktes Ampersand. Schreib &amp; oder pack den Wert in CDATA. Wird für jedes Vorkommen gemeldet, nicht nur für das erste.
Expected </b> but found </a> Tags überkreuzt statt verschachtelt. Anders als HTML hat XML keine Fehlerkorrektur.
<x> was never closed Mit der Zeile, in der es geöffnet wurde.
Attribut ohne Wert Erlaubt in HTML (<input disabled>), nie in XML.
Schließender Tag ohne offenes Element Meist ein doppelt geschlossener Tag.

Namespaces, die still scheitern

Ein Präfix, das verwendet, aber nie deklariert wurde, ist ungültig. Nachsichtige Parser akzeptieren es trotzdem – also funktioniert das Dokument in einem System und wird vom nächsten abgelehnt, oft Monate später und von jemandem, der es nicht geschrieben hat.

Das Panel meldet drei Dinge: Präfixe, die deklariert und verwendet wurden, Präfixe, die deklariert und nie verwendet wurden (meist ein kopierter Header), und Präfixe, die verwendet, aber nie deklariert wurden (der Bug). Das Präfix xml: ist durch den XML-Standard gebunden und wird nie markiert.

Wohlgeformt ist nicht dasselbe wie gültig

Wohlgeformt ist Syntax: geschlossene Tags, korrekte Verschachtelung, Attribute in Anführungszeichen, escapte reservierte Zeichen. Das lässt sich allein am Dokument prüfen, und genau das tut diese Seite.

Gültig heißt, dass es zusätzlich einem Schema entspricht – XSD, DTD, RELAX NG. Dafür braucht es das Schema, und diese Seite fragt dich nicht danach.

Jedes Tool, das behauptet, XML ohne Schema zu validieren, prüft die Wohlgeformtheit und benutzt dafür ein größeres Wort.

Häufige Fragen

Speichert ihr mein XML oder ladet ihr es hoch?
Nein. Der Parser besteht aus ein paar Kilobyte JavaScript, die auf deinem Rechner laufen – es gibt keinen Server-Aufruf, nichts wird geloggt, und es gibt kein Konto. In XML stecken oft Rechnungen, Kundendaten und API-Payloads. Ein guter Grund, es nicht auf den Server von jemand anderem zu kopieren, nur um Einrückungen hinzuzufügen.
Was heißt wohlgeformt, und ist das dasselbe wie gültig?
Nein, und der Unterschied ist wichtig. Wohlgeformt heißt, dass die Syntax stimmt: jeder Tag geschlossen, korrekt verschachtelt, Attribute in Anführungszeichen, reservierte Zeichen escaped. Gültig heißt, dass das Dokument außerdem einem Schema oder einer DTD entspricht. Dieser XML Validator prüft die Wohlgeformtheit, weil eine Validierung das Schema braucht und du keins mitgegeben hast. Jedes Tool, das ohne Schema zu validieren behauptet, prüft die Wohlgeformtheit und gibt ihr nur einen großartigeren Namen.
Warum rückt es manche meiner Elemente nicht ein?
Weil das deine Daten ändern würde. In XML ist Whitespace in einem Element, das Text und Kindelemente zugleich enthält, signifikant – er gehört zum Text. <summary>Adjustable from <min>65cm</min> upward.</summary> schön zu formatieren würde Zeilenumbrüche in diesen Satz einfügen. Die meisten Online-Formatter machen es trotzdem; falls du schon einmal ein Dokument in einen davon eingefügt hast und danach verirrte Leerzeichen im Text hattest, ist genau das passiert.
Was ist Mixed Content?
Ein Element, das Text und Kindelemente zusammen enthält statt nur das eine oder das andere. In allem, was dokumentartig ist – DocBook, XHTML, DITA, RSS-Beschreibungen –, ist das normal, in maschinell erzeugten Datenfeeds selten. Davon hängt ab, ob Umformatieren sicher ist, deshalb erkennt dieser XML Formatter es, statt zu raten.
Warum markiert es ein Namespace-Präfix?
Weil ein Präfix, das nie deklariert wurde, ungültig ist – und nachsichtige Parser es trotzdem durchlassen. Ein Dokument mit einem verirrten soap:- oder dc:-Präfix funktioniert in einem System und wird vom nächsten abgelehnt, meist lange nachdem sich noch jemand erinnert, es geschrieben zu haben. Das Panel listet, was deklariert wurde, was ungenutzt blieb und was ohne Deklaration verwendet wurde.
Kommt es mit CDATA, Kommentaren und Processing Instructions klar?
Ja, und sie bleiben erhalten, statt entfernt zu werden. CDATA-Abschnitte werden als undurchsichtig behandelt, Markup und Ampersands darin sind also Daten und keine Fehler – genau dafür ist CDATA da. Kommentare, die XML-Deklaration und Processing Instructions überstehen das Formatieren alle.
Warum sagt es, mein Ampersand sei falsch?
Ein nacktes & ist kein gültiges XML, auch wenn es harmlos aussieht. Es muss als &amp; geschrieben oder der ganze Wert in einen CDATA-Abschnitt gepackt werden. Es ist der häufigste XML-Fehler und der, den Parser am schlechtesten melden – dieser XML Validator nennt jedes Vorkommen mit Zeile und Spalte, nicht nur das erste, auf das er stößt.
Funktioniert es als XML Beautifier für minifizierte Feeds?
Dafür ist es vor allem da. Füg ein einzeiliges Dokument aus einem Log oder einer API-Antwort ein, wähl 2, 4 oder 8 Leerzeichen und lies es. Als XML Beautifier geht es auch in die andere Richtung – der Minify-Schalter entfernt den Formatierungs-Whitespace wieder, etwa für einen Payload, den du gleich verschicken willst.
Gibt es eine Größenbeschränkung?
Keine feste Grenze, aber der XML Formatter parst bei jedem Tastendruck neu, ein Dokument mit mehreren Megabyte fühlt sich im Textfeld also zäh an. Bei so großen Dateien formatier lieber einen repräsentativen Ausschnitt statt des Ganzen.
Verändert das Formatieren mein Dokument?
Nur den Whitespace zwischen Elementen, den XML als bedeutungslos behandelt – plus die bewusste Ausnahme oben, bei der sich gar nichts ändert. Attributwerte werden Byte für Byte übernommen, die Reihenfolge der Elemente bleibt erhalten, und nichts wird normalisiert, umsortiert oder weggelassen. Zweimal formatieren ergibt dasselbe wie einmal.
Validiert es gegen ein Schema, eine XSD oder DTD?
Nein. Dafür braucht es das Schema selbst, und diese Seite bittet dich nie, eins hochzuladen. Was du bekommst, sind Wohlgeformtheit, genaue Fehlerpositionen, konsistente Namespaces und die Warnung zu Mixed Content – die Prüfungen, die allein mit dem Dokument möglich sind.
Warum ist das kostenlos, und was ist Tekk?
Tekk macht dein Produkt zu Software, die sich selbst verbessert: Sechzehn Loops beobachten deine Codebase und bringen dir Proposals, die du mit Greenlight freigibst oder ablehnst, und dein Coding-Agent baut das Ergebnis. Diese Seite kostet uns im Betrieb nichts, weil nichts auf unseren Servern läuft – deshalb gibt es keine Anmeldepflicht, kein Nutzungslimit und keinen Upsell im Tool.

Willst du eine echte Spec für das, was du baust?

Schreib einen Satz. Tekk liest deinen Code und schreibt die Spec, die dein Coding-Agent baut – und seine Loops behalten im Blick, was du auslieferst.

Kostenlos testen · GitHub bei der Registrierung verbinden