Zum Inhalt springen

XML-Formatierer & Validator

Rücken Sie XML mit 2 Leerzeichen, 4 Leerzeichen oder Tabulatoren ein, ziehen Sie es auf eine Zeile zusammen, oder finden Sie heraus, warum es nicht eingelesen werden kann. Wohlgeformtes XML liefert Anzahl der Elemente, Verschachtelungstiefe und Größe; fehlerhaftes XML liefert die Meldung des Parsers. Kostenlos, ohne Anmeldung, und das XML verlässt nie Ihren Browser.

Modus

So verwenden Sie den XML-Formatierer

  1. 1. Wählen Sie einen Modus. Formatieren erzeugt eine lesbare Einrückung; Minifizieren entfernt den Leerraum zwischen Elementen.
  2. 2. Wählen Sie die Einrückung. Bei Formatieren wählen Sie 2 Leerzeichen, 4 Leerzeichen oder einen Tabulator.
  3. 3. Fügen Sie Ihr XML ein und drücken Sie die Schaltfläche. Das Ergebnis erscheint darunter mit drei Angaben: Elemente, maximale Tiefe (die Wurzel ist Ebene 1) und Ausgabegröße in Zeichen.
  4. 4. Beheben Sie angezeigte Fehler. Ist das XML nicht wohlgeformt, wird nichts ausgegeben, und der Parser Ihres Browsers meldet, was er gefunden hat. Korrigieren Sie das XML und drücken Sie die Schaltfläche erneut.

Wohlgeformt versus gültig

Zwei verschiedene Dinge werden als „Validieren“ von XML bezeichnet. Ein Dokument ist wohlgeformt, wenn es die Syntaxregeln der XML-1.0-Empfehlung des W3C befolgt; es ist gültig, wenn es außerdem einem Schema wie einer DTD oder einem XSD gehorcht. Dieses Tool prüft nur die Wohlgeformtheit, mit dem in Ihrem Browser eingebauten XML-Parser. Es liest keine DTDs oder Schemata, daher besteht ein Dokument, das wohlgeformt, aber für Ihre Anwendung falsch ist — etwa mit einem fehlenden Pflichtelement —, die Prüfung. Die Regeln, die es durchsetzt:

RegelFehler, wenn
Ein WurzelelementZwei oberste Elemente oder Text vor dem Wurzelelement
Elemente sind korrekt verschachtelt<a><b></a></b>
Jedes Starttag hat ein Endtag<a><b></a>, oder <br> statt <br/>
Namen unterscheiden Groß- und Kleinschreibung<Title>…</title>
Attributwerte stehen in Anführungszeichen<a id=1/>
Kein Attribut doppelt an einem Element<a id="1" id="2"/>
< und & sind im Text maskiert<a>5 < 6 & 7</a> sollte 5 &lt; 6 &amp; 7 sein

XML definiert genau fünf vordefinierte Entitäten — &lt;, &gt;, &amp;, &apos; und &quot; —, daher ist eine HTML-Entität wie &nbsp; ein Fehler, sofern keine DTD sie deklariert. Bei einem nicht geschlossenen Tag nennt die Meldung, deren Wortlaut vom Browser abhängt und je nach Browser variiert, das nicht zusammenpassende Paar: In Chrome meldet <a><b></a> einen Fehler in Zeile 1, Spalte 11, mit „Opening and ending tag mismatch: b line 1 and a“.

Was der Formatierer ändert

Das Tool parst Ihr XML in einen Baum und schreibt den Baum wieder aus. Die Ausgabe ist also gleichwertiges XML in einem übersichtlicheren Layout und keine Kopie Ihres Textes. Erwarten Sie diese Unterschiede:

  • Deklaration und DOCTYPE bleiben erhalten. Eine führende Zeile <?xml …?> und eine <!DOCTYPE …>-Deklaration, einschließlich interner Teilmenge, werden so zurückgeschrieben, wie Sie sie eingegeben haben.
  • Attribute behalten ihre Reihenfolge, werden aber mit doppelten Anführungszeichen neu geschrieben.
  • Entitäten werden aufgelöst. &apos; und Zeichenreferenzen wie &#169; kommen als die Zeichen selbst zurück; nur &, < und > im Text sowie &quot; in Attributen werden wieder maskiert.
  • Leere Elemente schließen sich selbst. <a></a> wird zu <a/>, wenn es keinen Inhalt hat, während eines, das nur ein Leerzeichen enthält, als <a></a> bleibt.
  • Kommentare, CDATA-Abschnitte und Verarbeitungsanweisungen bleiben erhalten.

Beispiel

Dieses einzeilige Dokument hat eine Deklaration, ein Attribut in einfachen Anführungszeichen, einen Kommentar und ein leeres Element:

Eingabe

<?xml version="1.0" encoding="UTF-8"?><library><book id='1'><title>APA Manual</title><year>2020</year><!-- note --></book><book id="2"/></library>

Formatieren, 2 Leerzeichen

Neun Zeilen und 172 Zeichen: die Deklaration, dann library am Rand, jedes book zwei Leerzeichen eingerückt, und Titel, Jahr und Kommentar vier Leerzeichen eingerückt. Die id des ersten Buches steht nun als id="1".

Minifizieren

Eine Zeile mit 146 Zeichen.

Statistik

5 Elemente und eine maximale Tiefe von 3 (library, book, title).

Minifizieren behält die Deklaration und legt den ganzen Baum auf eine Zeile, sodass dasselbe Dokument von 172 auf 146 Zeichen schrumpft. Die Karte zur Ausgabegröße zeigt diese Zeichenzahlen.

Welches Tool brauchen Sie?

Diese Seite ist für XML. Für HTML, das nicht geschlossene Tags toleriert und Leerzeichen im Fließtext bewahrt, verwenden Sie den HTML Formatter. Um XML in JSON-Daten umzuwandeln, zeigt der geplante XML to JSON Converter, wie Attribute und wiederholte Elemente abgebildet werden; für JSON selbst verwenden Sie den JSON-Formatierer.

Häufig gestellte Fragen

Was macht ein XML-Formatierer?
Er rückt XML neu ein, damit die Verschachtelung sichtbar wird, meist mit einem Element pro Zeile. Dieser hier prüft außerdem, ob das XML wohlgeformt ist, denn er muss das Dokument parsen, bevor er es in einem neuen Layout ausgeben kann.
Wie funktioniert die XML-Validierung hier?
Der in Ihrem Browser eingebaute XML-Parser liest den Text. Verletzt das XML eine Syntaxregel, wird die Meldung des Parsers angezeigt und keine Ausgabe erzeugt. Geprüft wird nur die Wohlgeformtheit, nicht die Gültigkeit gegen ein DTD- oder XSD-Schema.
Bleiben Kommentare, CDATA-Abschnitte und Attribute erhalten?
Ja: Kommentare und CDATA-Abschnitte werden unverändert zurückgeschrieben, und Attribute behalten ihre Reihenfolge, auch wenn die Anführungszeichen zu doppelten normalisiert werden. Eine DOCTYPE-Deklaration wird so zurückgeschrieben, wie Sie sie eingegeben haben.
Was macht Minifizieren?
Es entfernt den Leerraum und die Zeilenumbrüche zwischen Elementen, um den kürzesten gleichwertigen Text zu erhalten, und behält die XML-Deklaration, falls vorhanden. Text in Elementen wie <title> behält seine Leerzeichen, ebenso Text neben Kindelementen, etwa in einem Absatz mit einem fetten Wort.
Warum ändert das Formatieren meine Leerzeichen im Text?
Nur beim Formatieren von gemischtem Inhalt — Text neben Kindelementen, etwa ein Absatz mit einem fetten Wort. Formatieren kürzt diesen Text und setzt jedes Stück in eine eigene Zeile, was den Leerraum verändert; Minifizieren behält ihn. Datenartiges XML, bei dem Elemente entweder Text oder andere Elemente enthalten, ist nicht betroffen.
Warum schlägt mein XML mit &nbsp; fehl?
XML hat nur fünf vordefinierte Entitäten, und &nbsp; gehört nicht dazu. Ersetzen Sie es durch die numerische Referenz &#160; oder deklarieren Sie die Entität in einer DTD.
Wird mein XML auf einen Server hochgeladen?
Nein. Das Parsen und Formatieren geschieht im Browser, und nichts, was Sie einfügen, wird irgendwohin gesendet.

Ähnliche Tools

Weitere Werkzeuge: Daten, Markup und Code