Die Abkürzung XHTML steht für Extensible Hypertext Markup Language. XHTML ist eine auf XML basierende Neuformulierung von HTML und verbindet die Elemente und Dokumentstruktur von HTML mit den strengeren Syntaxregeln von XML. Es wurde vom W3C, dem World Wide Web Consortium, standardisiert, das sich um die Entwicklung und Standardisierung von Techniken für das World Wide Web kümmert. Wie Browser ein XHTML-Dokument verarbeiten, hängt wesentlich vom ausgelieferten Medientyp ab: Als text/html bereitgestellte Dokumente werden gewöhnlich wie HTML geparst. Bei einer Auslieferung als application/xhtml+xml gelten dagegen die strengen Regeln eines XML-Parsers.
Entwicklung und Nutzung
XHTML wurde entwickelt, um HTML mit den Regeln und Werkzeugen von XML nutzbar zu machen. XML dient vor allem zur Definition und Übertragung strukturierter Daten und erlaubt die Festlegung eigener Elemente. Für die Darstellung typischer Webdokumente musste dagegen auf die in HTML definierten Elemente und ihre Bedeutung zurückgegriffen werden. XHTML kombiniert deshalb die dokumentenspezifischen Funktionen von HTML mit der wohlgeformten Syntax von XML. Es kann für strukturierte Texte, Hyperlinks und automatisiert verarbeitete Dokumente verwendet werden. Eine parallele Mischung unterschiedlicher HTML- und XML-Syntax ist bei einem reinen XHTML-Dokument nicht nötig. Allerdings ergeben sich dadurch auch gewisse Nachteile: Die Syntax der Websprache ist wesentlich intoleranter, als dies bei klassischem HTML der Fall ist. Während HTML-Parser viele fehlerhafte oder fehlende Auszeichnungen eigenständig korrigieren, müssen XHTML-Dokumente bei der Verarbeitung als XML unter anderem korrekt verschachtelte Elemente, geschlossene Tags, Anführungszeichen für Attributwerte und die vorgeschriebene Groß- und Kleinschreibung einhalten. Bei einem Syntaxfehler kann ein als XML ausgeliefertes Dokument nicht regulär dargestellt werden. Diese strengen Vorgaben erleichtern dafür die zuverlässige maschinelle Verarbeitung stark verzweigter, automatisierter und miteinander verknüpfter Dokumente.
Bei den Webentwicklern hat XHTML heute nur noch einen begrenzten Stellenwert. Obwohl die Websprache durch ihre klaren Regeln vergleichsweise systematisch aufgebaut ist und Dokumente eindeutig verarbeitet werden können, werden immer wieder die strenge Syntax und der zusätzliche Aufwand bei der korrekten Auslieferung kritisiert. Vorherrschend ist heute HTML5 in Verbindung mit CSS und JavaScript; XML erfüllt weiterhin eigenständige Aufgaben beim strukturierten Datenaustausch. Content-Management-Systeme erzeugen in der Regel HTML und ergänzen dieses je nach Aufbau um Stylesheets, Skripte und weitere Datenformate. XHTML kann zwar ebenfalls modular aufgebaut werden, die eigenständige Weiterentwicklung der XHTML-Spezifikationen wurde jedoch zugunsten von HTML5 beendet. HTML5 definiert neben der üblichen HTML-Syntax weiterhin eine XML-Serialisierung, die häufig als XHTML-Syntax bezeichnet wird.
Beispiel: Dieser XHTML-Ausschnitt zeigt einen Namensraum, korrekt verschachtelte Elemente und ein geschlossenes leeres Element.1
<div >
<p>Erste Zeile<br />Zweite Zeile</p>
</div>Es handelt sich um ein Fragment. Für ein vollständiges Dokument müssen zusätzlich Dokumentstruktur und Auslieferung als HTML oder XML zusammenpassen.
Veröffentlichte Versionen bis heute
Die erste Version von XHTML mit der Revisionsnummer 1.0 wurde am 26. Januar 2000 offiziell vom W3C veröffentlicht und mit entsprechenden Vorgaben versehen. Sie formulierte HTML 4 mit den Syntaxregeln von XML neu und enthielt Hinweise zur Kompatibilität mit bestehenden HTML-Browsern. Etwa ein Jahr später wurde XHTML 1.1 veröffentlicht, bei dem die Spezifikation auf einem modularen System aufbaute. Aus XHTML 1.1 ging später eine Second Edition hervor, bevor man sich dazu entschloss, mit XHTML 2 eine grundsätzlich neue und nicht vollständig abwärtskompatible Sprache zu entwickeln. Diese sollte beispielsweise die Notation von Hyperlinks vereinfachen, Webdesignern und -Entwicklern mehr Möglichkeiten zur Automatisierung bieten und eine bessere Verarbeitung von Metadaten unterstützen. Im Jahr 2009 wurde die Arbeit an XHTML 2 jedoch eingestellt. Das W3C konzentrierte die weitere Standardisierung auf HTML5. Die früheren XHTML-Spezifikationen bleiben als veröffentlichte Standards bestehen. Auch heute lassen sich deshalb standardkonforme XHTML-Dokumente erstellen, sofern Syntax, Namensräume und der bei der Übertragung verwendete Medientyp korrekt aufeinander abgestimmt sind.
Beispiele für einige Module in XHTML 1.1
Mit XHTML 1.1 wurde der modulare Aufbau der Sprache konsequent umgesetzt. Das bereits aus XML bekannte Namensraum-Konzept ermöglicht es, Elemente unterschiedlicher XML-Sprachen innerhalb eines Dokuments eindeutig zuzuordnen. Ein Namensraum wird über das Attribut xmlns deklariert; dabei handelt es sich nicht um eine CSS-Klasse, sondern um eine Zuordnung von Elementnamen zu einer Namensraum-URI. Ein Link kann auf eine weiterführende Spezifikation verweisen. Beispiele für XML-basierte Sprachen, die über Namensräume eingebunden werden können, sind MathML für mathematische Formeln und Operatoren, SVG für skalierbare Vektorgrafiken sowie das Resource Description Framework für die Beschreibung und Verknüpfung von Ressourcen. Mehrere Namensräume können innerhalb eines XML-Dokuments verwendet und ihre Elemente korrekt ineinander verschachtelt werden. Das bedeutet allerdings nicht, dass jede beliebige XML-Erweiterung ohne zusätzliche Vorgaben automatisch Bestandteil eines gültigen XHTML-Dokuments wird. Die verwendete Dokumentdefinition, das Schema und die Verarbeitung durch die eingesetzte Software müssen die Kombination unterstützen. Da XML selbst für solche modularen Datenstrukturen ausgelegt ist, wurde die Einbindung von Erweiterungen in XHTML allein nie zu einem entscheidenden Vorteil der Websprache.
Zusammenfassung
XHTML ist eine Auszeichnungssprache, die HTML mit den Syntaxregeln von XML formuliert und vom W3C standardisiert wurde. Sie verwendet die in HTML festgelegten Elemente zur Strukturierung von Dokumenten und verlangt bei der Verarbeitung als XML eine wohlgeformte, fehlerfreie Syntax. Die Browserunterstützung und Fehlerbehandlung hängen davon ab, ob ein Dokument als HTML oder mit einem XML-Medientyp ausgeliefert wird.
Die Entwicklung von XHTML zielte darauf ab, die Dokumentstruktur von HTML mit der maschinell gut verarbeitbaren Syntax von XML zu verbinden. XHTML ermöglicht eindeutig strukturierte Dokumente, verlangt jedoch korrekt geschlossene und verschachtelte Elemente. Diese strengen Anforderungen haben dazu beigetragen, dass sich die Sprache gegenüber gewöhnlichem HTML nicht dauerhaft als vorherrschendes Webformat durchsetzte.
Die erste Version, XHTML 1.0, wurde im Jahr 2000 eingeführt und später durch XHTML 1.1 mit einem modularen System ergänzt. Die Entwicklung von XHTML 2 wurde 2009 zugunsten der Arbeiten an HTML5 eingestellt. Eine XML-Serialisierung von HTML5 kann weiterhin nach XHTML-Regeln verwendet werden.
XHTML 1.1 nutzt ein Namensraum-Konzept, das die eindeutige Zuordnung spezialisierter XML-Sprachen wie MathML und SVG ermöglicht. Ob eine solche Kombination gültig und praktisch nutzbar ist, hängt zusätzlich von der jeweiligen Spezifikation und der Unterstützung durch die verarbeitende Software ab.
Häufige Fragen und Antworten
Die Abkürzung XHTML steht für Extensible Hypertext Markup Language. Es handelt sich um eine auf XML basierende Neuformulierung von HTML, die die Elemente und Dokumentstruktur von HTML mit den strengeren Syntaxregeln von XML verbindet.
XHTML diente dazu, HTML-Dokumente nach den Regeln von XML zu erstellen und maschinell eindeutig verarbeiten zu können. Heute dominiert HTML5 die Webentwicklung. Eine XML-Serialisierung von HTML5 kann jedoch weiterhin als XHTML ausgeliefert werden, sofern die strengen XML-Regeln eingehalten werden.
XHTML bietet eine klare, wohlgeformte Syntax und eignet sich dadurch für die zuverlässige maschinelle Verarbeitung von Dokumenten. Namensräume ermöglichen außerdem die eindeutige Einbindung XML-basierter Sprachen wie MathML oder SVG. Diesen Vorteilen steht gegenüber, dass Syntaxfehler bei einer echten XML-Verarbeitung zur vollständigen Ablehnung des Dokuments führen können.
