100 % lokal — Ihre Daten verlassen nie Ihren Browser

XML-Validator — finden, wo es bricht

Prüfen, ob XML wohlgeformt ist: eine Wurzel, geschlossene und verschachtelte Tags, gültige Namen. Der erste Bruch wird dort benannt, wo er auftritt.

Sofort Privat Null Cookies

XML-Eingabe

Result-Ausgabe

Was dieses Werkzeug prüft

Die Wohlgeformtheit, der Begriff der Spezifikation für „syntaktisch XML“:

  • genau ein Wurzelelement;
  • jedes Tag geschlossen, und in der Reihenfolge geschlossen, in der es geöffnet wurde;
  • Attributwerte in Anführungszeichen, und kein Attribut an einem Element doppelt;
  • Element- und Attributnamen, die zulässig beginnen und nur zulässige Zeichen enthalten;
  • korrekt geschriebene Entitäten und numerische Referenzen;
  • kein von XML verbotenes Zeichen.

Besteht das Dokument, erhalten Sie sein Wurzelelement und seine Größe. Sonst die Beschwerde des Parsers, mit Zeile und Spalte, wo er aufgegeben hat.

Wohlgeformt ist nicht gültig

Das sind zwei verschiedene Wörter in der XML-Spezifikation, und sie zu verwechseln kostet echte Zeit.

prüft
Wohlgeformtdie Syntax — was dieses Werkzeug tut
Gültigdie Syntax und ein Schema: DTD, XSD, RELAX NG

Ein Dokument kann makellos wohlgeformt und in allem falsch sein, worauf es ankommt: ein Pflichtelement fehlt, ein Element steht falsch, <preis>Banane</preis>, wo eine Dezimalzahl deklariert war. Nichts in diesem Bericht sagt etwas anderes, und kein Wohlgeformtheitsprüfer kann es.

Brauchen Sie Schema-Prüfung, brauchen Sie das Schema — und ein Werkzeug, das es liest.

Dem DOCTYPE wird nicht gefolgt

Eine <!DOCTYPE>-Referenz ist eine URL. Sie aufzulösen hieße eine ausgehende Anfrage, die verriete, dass dieses Dokument existiert und wer es betrachtet. Hier verlässt nichts Ihren Browser: der DOCTYPE wird als Syntax geprüft und bleibt, wo er ist.

Das macht auch Angriffe über externe Entitäten hier gegenstandslos: eine Entität, die irgendwohin zeigt, wird nie abgerufen.

Eine Verarbeitungsanweisung davor ist kein Problem

<?xml-stylesheet href="style.xsl"?> vor dem Wurzelelement ist gewöhnliches, gültiges XML, und der Bericht nennt das echte Wurzelelement statt der Anweisung.

Die einzige erzwungene Reihenfolgeregel ist die der Spezifikation: die XML-Deklaration steht, wenn vorhanden, zuerst. Anderswo ist sie gar keine Deklaration, sondern eine Verarbeitungsanweisung namens xml, und dieser Name ist reserviert.

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

Prüft das mein Dokument gegen sein XSD oder seine DTD?
Nein, und der Unterschied zählt. **Wohlgeformt** heißt, die Syntax trägt: ein Wurzelelement, jedes Tag in der richtigen Reihenfolge geschlossen, Attributwerte in Anführungszeichen, zulässige Namen und Zeichen. **Gültig** heißt, es gehorcht zusätzlich einem Schema: die geforderten Elemente vorhanden, in der deklarierten Reihenfolge, mit den deklarierten Typen. Ein Dokument kann tadellos wohlgeformt sein und sein Schema in jeder Zeile verletzen.
Warum wird dem DOCTYPE nicht gefolgt?
Weil ihm zu folgen heißt, das Bezeichnete abzurufen. Eine DTD-Referenz ist eine URL, und sie aufzulösen würde eine Anfrage senden — die verrät, dass dieses Dokument existiert und wer es ansieht. Hier läuft alles in Ihrem Browser und nichts verlässt ihn: der DOCTYPE wird als Syntax geprüft und ansonsten in Ruhe gelassen.
Es sagt, meine Deklaration müsse zuerst kommen. Warum?
Weil die XML-Deklaration nur an erster Stelle eine Deklaration ist; überall sonst ist sie eine Verarbeitungsanweisung namens `xml`, ein von der Spezifikation reservierter Name. Ein davor stehendes `<?xml-stylesheet?>` ist die übliche Ursache. Setzen Sie die Deklaration nach oben, dann wird das Dokument angenommen.

Ähnliche Konverter