Die Abkürzung XHTML steht für Extensible Hyper Text Markup Language und ist sozusagen eine Parallelentwicklung zu HTML. XHTML bildet ein Zwischenstück zu XML und HTML, nutzt die typische, semantische Syntax von XML, ist aber weniger auf die Auszeichnung hierarchischer Strukturen ausgelegt, sondern mehr auf die Definition und Strukturierung von Dokumenten und Inhalten. Als Erweiterung zu XML und HTML ist auch XHTML von der W3C, dem „World Wide Web Consortium“, dss sich um die Standardisierung von im Internet genutzten Programmiersprachen und Techniken kümmert, vollständig anerkannt. Die meisten heute im Einsatz befindlichen Browser unterstützen XHTML in vollem Umfang, durch Transkription und Interpretation ist die Websprache jedoch auch abwärtskompatibel zu HTML 4.0, ältere Browser zeigen XHTML-Webseiten wie gewöhnliche, in HTML geparste Dokumente an.
Entwicklung und Nutzung
XHTML wurde entwickelt, um die Lücke zwischen XML und HTML zu schließen. XML wurde vor der Entwicklung von XHTML hauptsächlich für die Definition von Datenstrukturen und die Spezifizierung verschiedener Entitäten gebraucht. Im Gegensatz zum HTML sind in XML ausformulierte Textdateien annähernd semantisch, orientieren sich an Grammatik und Begriffen der englischen Sprache und können deshalb auch von ungeübten Webentwicklern relativ einfach verwendet werden. Trotzdem eignet sich, selbst wenn man die später eingeführte Modularität einbezieht, XML nur schlecht für die Spezifizierung von Dokumenten, weshalb hier immer wieder auf HTML zurückgegriffen werden musste. XHTML macht sich die einfache Syntax und die semantische Sprache von XML zu Nutze, kann sowohl für den unkomplizierten Datenaustausch zwischen verschiedenen Dokumenten, die flexible Automatisierung und die weitreichende Ausformulierung von Texten und Hyperlinks verwendet werden. Eine Kombination aus XML und HTML ist bei der reinen Nutzung von XHTML nicht mehr nötig. Allerdings ergeben sich dadurch auch gewisse Nachteile, beispielsweise ist die Syntax der Websprache wesentlich intoleranter als dies bei HTML der Fall ist. War es bei HTML noch egal, wenn bei Attributnamen, Elementen oder Tags beispielsweise die benötigte Groß- und Kleinschreibung nicht eingehalten wurde oder sogar Klammern vergessen wurden, so ist dies bei XHTML nicht mehr der Fall. Laut dem W3C gilt das Einhalten einer solch strengen Syntax besonders bei stark verzweigten, automatisierten und verknüpften Dokumenten den Gründen einer hohen Kompatibilität. Zudem erlaubt man so den Browsern ein relativ tolerantes Parsing, Anwender müssen nicht befürchten, bei kleineren Syntaxfehlern Fehlermeldungen angezeigt zu bekommen, wie es vor allem während der Anfangszeit von HTML der Fall war.
Bei den Webentwicklern hat XHTML leider einen relativ kleinen Stellenwert. Obwohl die Websprache durch ihre Semantik einfach zu erlernen ist und Dokumente schnell deklariert werden können, wird immer wieder die strenge Syntax und das veraltete Tag-System kritisiert. Heute wird die Websprache nur noch bei schätzungsweise 10% aller Webseiten eingesetzt, vorherrschend sind CSS, XML und HTML. Dies liegt auch an der besonders im professionellen Bereich hohen Verbreitung sogenannter Content Management Systeme, die wegen ihres modularen Aufbaus oft auf eine Kombination aller verfügbarer Websprachen zurückgreifen müssen, da nicht vorhergesehen werden kann, welche Module die Anwender verwenden und installieren möchten. Obwohl XHTML ebenfalls einen modularen Aufbau unterstützt, es sogar viele Erweiterungen für verschiedene Aufgaben gibt, kann nicht davon ausgegangen werden, dass die Websprache in naher Zukunft noch einen wesentlich höheren Marktanteil erzielt. Viel wahrscheinlicher ist es, dass die Websprache mit steigender Nutzung von HTML 5 sogar ganz von der Bildfläche verschwindet.
Veröffentlichte Versionen bis heute
Die erste Version von XHTML mit der Revisionsnummer 1.0 wurde am 26. Januar 2000 offiziell von der W3C anerkannt und mit entsprechenden Vorgaben versehen. Etwa ein Jahr später wurde das erste Update auf XHTML 1.1 veröffentlicht, bei dem nicht nur die Vorgaben deutlich vereinfacht wurden, (Dies gelang deshalb, weil die Browser sich auf die Websprache einstellten und keine Abwärtskompatibilität mehr gewährleistet werden musste) sondern auch das neue, modulare System eingeführt wurde. Aus XHTML 1.1 ging später die Version 1.1 SE hervor, bevor man sich dazu entschloss eine gänzlich neue Version zu entwickeln. Diese sollte beispielsweise die Notierung von Hyperlinks vereinfachen, Webdesignern und -Entwicklern mehr Möglichkeiten zur Automatisierung bieten und eine bessere Verarbeitung von Metadaten unterstützen. Im November 2009 wurde die Entwicklung von XHTML 2 jedoch komplett eingestellt. Die W3C entschied sich, das Projekt zu Gunsten von HTML 5 aufzugeben. Eine weitere Aufnahme von XHTML ist nicht geplant, die bisher vergebenen Spezifizierungen bleiben jedoch bestehen, deshalb ist es auch heute noch möglich, eine standardkonforme Webseite mithilfe von XHTML zu erstellen.
Beispiele für einige Module in XHTML 1.1
Mit der Revision XHTML 1.1 wurde das sogenannte, von XML bereits bekannte, „Namensraum-Konzept“ eingeführt, das es Webdesignern ermöglichte, speziell für XHTML oder XML geschriebene Erweiterungen zu nutzen. Dazu musste dieses als eigener Namensraum im Header deklariert werden. Die W3C gibt vor, dass nach Deklaration einer eigenen Klasse über das Attribut xmlns immer eine Namensraum-Spezifizierung erfolgen muss. Eine solche Deklaration sieht also wie folgt aus: (Name der Klasse xmlns=“Link zur W3C-Spezifizierung“). Beispiele für solche, über den Namensraum eingebundene Module, sind das für die Darstellung mathematischer Symbole oder Operatoren verantwortliche MathML, SVG für die vom Browser berechnete Zeichnung und Deklaration von Vektorgrafiken sowie das Resource Description Framework, das sich für die Verarbeitung und Analyse verschiedener Ressourcen und die Speicherung in Datenbanken eignet. Insgesamt eignen sich alle Erweiterungen, die in XML funktionieren auch für XHTML. Die Deklaration über den Namensraum erlaubt sogar die Verschachtelung mehrerer Erweiterungen gleichzeitig, solang die dort definierte Klasse nicht über das End-Tag geschlossen wird. Da XML für sich jedoch ebenfalls modular aufgebaut ist und die Deklaration ebenfalls über das einfache Namensraum-System funktioniert, wurde die Einbindung von Erweiterungen in XHTML nie als Vorteil für die Websprache angesehen. Stattdessen weichte man für diese Aufgaben einfach auf XML aus, was ein weiterer Grund dafür ist, dass XHTML nie den Stellenwert erreichte, den die Kombination aus CSS, XML und HTML innehatte.