XML vs. HTML: Was ist der Unterschied?

  • VersionDude
  • Standards
  • 5 Min. Lesezeit

Sie sehen ähnlich aus, aber XML und HTML wurden für verschiedene Aufgaben entworfen – das eine beschreibt Dokumente für Browser, das andere transportiert strukturierte Daten.

HTML und XML sehen sich erstaunlich ähnlich, und aus gutem Grund: Beide stammen von SGML ab und beide verwenden dieselbe Syntax aus spitzen Klammern für Tags, Attribute und verschachtelte Elemente. Auf den ersten Blick kann ein Ausschnitt des einen schwer vom anderen zu unterscheiden sein. Doch die oberflächliche Ähnlichkeit verbirgt einen tiefen Unterschied in der Absicht, und die beiden zu verwechseln führt zu vielen fehlgeleiteten Erwartungen daran, wie sich jedes verhalten sollte.

HTML: ein festes, nachsichtiges Vokabular

HTML- und CSS-Code in einem Code-Editor angezeigt.
HTML- und CSS-Code in einem Code-Editor angezeigt.

HTML wurde für eine genaue Aufgabe entworfen: Dokumente zu beschreiben, damit Browser sie Menschen anzeigen. Es verfügt über ein festes, vordefiniertes Vokabular von Elementen – Absätze, Überschriften, Links, Bilder und so weiter –, jedes mit einer eingebauten Bedeutung, die Browser zu rendern wissen. Sie erfinden keine neuen HTML-Tags; Sie verwenden die, die der Standard bereitstellt, denn ihre Bedeutung und ihr Rendering sind Teil der Plattform.

Entscheidend ist, dass HTML absichtlich fehlertolerant ist, und das ist ein Vorzug statt eines Versäumnisses. Der Standard definiert detaillierte Fehlerwiederherstellungsregeln, sodass selbst schlecht geschriebenes Markup dennoch eine brauchbare Seite erzeugt, was erklärt, warum ein so großer Teil des Webs trotz seiner technischen Ungültigkeit angezeigt wird. Diese Toleranz hält das Web widerstandsfähig und zugänglich, um den Preis, Fehler still durchzulassen.

XML: eine strikte Metasprache

XML wurde zu einem nahezu entgegengesetzten Zweck entworfen. Es definiert keine eigenen Tags; stattdessen ist es eine Metasprache, ein Regelwerk, um eigene Markup-Vokabulare zu erfinden, um strukturierte Daten zu transportieren. Wo HTML Ihnen ein festes Vokabular reicht, reicht XML Ihnen die Grammatik, mit der Sie jedes Vokabular bauen, das Sie brauchen, ob für Finanzunterlagen, Dokumentformate oder Konfiguration.

Diese Flexibilität geht mit Strenge einher, die die andere Hälfte des Charakters von XML ist. Ein Dokument, das nicht wohlgeformt ist – mit jedem Tag geschlossen und jedem Element korrekt verschachtelt –, wird von vornherein zurückgewiesen statt repariert. Es gibt keine Fehlerwiederherstellung, auf die man zurückgreifen könnte; der Parser weigert sich fortzufahren. Diese kompromisslose Haltung ist genau das, was XML für den Maschine-zu-Maschine-Austausch verlässlich macht, denn entweder sind die Daten strukturell korrekt, oder sie werden schlicht gar nicht akzeptiert.

Zwei Philosophien für zwei Aufgaben

Die beiden Philosophien spiegeln genau ihre Anwendungsfälle wider. Die Toleranz von HTML passt zu einem Web, in dem unzählige Autoren unterschiedlichen Könnens Dokumente veröffentlichen, die dennoch für Leser angezeigt werden müssen. Die Strenge von XML passt zu Systemen, die Daten automatisch austauschen, wo ein still falsch interpretiertes Dokument einen nachgelagerten Prozess beschädigen könnte. Kein Ansatz ist absolut überlegen; jeder ist die richtige Antwort auf ein anderes Problem.

XHTML und wo sich die Dinge einpendelten

Zwischen beiden steht XHTML, das im Wesentlichen HTML ist, ausgedrückt unter den strengen Regeln von XML. Ein XHTML-Dokument muss zusätzlich zu gültigem HTML auch wohlgeformtes XML sein und vereint das Web-Vokabular von HTML mit der kompromisslosen Disziplin von XML. Es erlebte eine Phase der Beliebtheit, aber die Strenge, die es in der Theorie reizvoll machte, machte es auch in der Praxis fragil, da ein einziges fehlerhaftes Fragment eine ganze Seite zerbrechen konnte.

In der modernen Webentwicklung hat sich die praktische Landschaft gefestigt. HTML5 ist der Standard, um Seiten zu bauen, die Menschen in Browsern lesen, nachdem es die Lehren seiner Vorgänger wie auch der XHTML-Erfahrung aufgenommen hat. XML und die davon abgeleiteten Formate bleiben unterdessen verbreitet für Konfigurationsdateien, Datenströme wie RSS und Atom, Office-Dokumentformate und viele weitere Orte, an denen strukturierte Daten gespeichert oder ausgetauscht werden müssen.

Das breitere XML-Ökosystem

Es hilft auch, sich zu erinnern, dass XML selten allein reist; es verankert eine ganze Familie verwandter Technologien. Schemata wie DTD und XSD definieren und validieren die Struktur eines bestimmten XML-Vokabulars, XSLT transformiert XML von einer Form in eine andere, und XPath navigiert innerhalb eines Dokuments. Dieses umgebende Ökosystem gehört zu den Gründen, warum XML in datenintensiven Bereichen fortbesteht, lange nachdem es aus dem Schreiben von Frontend-Seiten verschwunden ist.

Es hilft auch, sich zu erinnern, dass XML selten allein reist; es verankert eine ganze Familie verwandter Technologien. Schemata wie DTD und XSD definieren und validieren die Struktur eines bestimmten XML-Vokabulars, XSLT transformiert XML von einer Form in eine andere, und XPath navigiert innerhalb eines Dokuments. Dieses umgebende Ökosystem gehört zu den Gründen, warum XML in datenintensiven Bereichen fortbesteht, lange nachdem es aus dem Schreiben von Frontend-Seiten verschwunden ist.

— VersionDude

Eine Faustregel nach Zweck

Eine nützliche Faustregel fasst die Unterscheidung sauber zusammen. Greifen Sie zu HTML, wenn Sie ein Dokument beschreiben, das von Menschen in einem Browser gelesen werden soll, und zu Formaten der XML-Familie, wenn Sie strukturierte Daten zwischen Systemen austauschen oder speichern. Sobald Sie die Wahl um den Zweck statt um das Erscheinungsbild herum rahmen, löst sich die scheinbare Überschneidung zwischen beiden auf, und es wird offensichtlich, welches Werkzeug jede Aufgabe verlangt.

Verwandtes Projekt