Zum Inhalt springen

Extensible Hypertext Markup Language

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 4. September 2003 um 16:37 Uhr durch Traroth (Diskussion | Beiträge) (interwiki). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Extensible HyperText Markup Language.

XHTML löst als Standard des W3C HTML als Sprache für Webseiten im World Wide Web ab. Im Gegensatz zu seinem Vorläufer HTML, welcher nur auf SGML basiert, verwendet XHTML das strengere und einfacher zu parsende SGML-Subset XML als Sprachgrundlage. Das heißt, alle XHTML-Dokumente sind zugleich XML-Dokumente.

Seit XHTML 1.1 / XHTML Basic ist XHTML modularisiert. Basierend auf den Modulen kann man sich eigene XHTML-Dokumenttypen nach dem Baukastenprinzip zusammenbauen und mit eigenen Modulen und anderen XML-basierten Sprachen mischen. Das W3C schlägt unter anderem die Mischung mit SMIL, SVG oder MathML als Beispiele dafür vor.

XHTML fasst dabei als Begriff die verschiedenen XHTML-Versionen zusammen:

  • veraltet: XHTML 1.0 Strict, XHTML 1.0 Transitional, XHTML 1.0 Frameset als XML-basierte Neuformulierung von HTML 4.01 mit Rückwärtskompatibilität
  • aktuell: XHTML Basic für eingeschränkte Geräte wie Handys und Handhelds.
  • aktuell: XHTML 1.1 als derzeitige Version für normale Web-Browser
  • zukünftig: XHTML 2.0
  • Misch-Versionen (z.B. XHTML 1.1 + MathML + SVG).


Die wichtigsten Unterschiede zwischen HTML und XHTML

  • Während in HTML die Schreibweise egal ist, müssen die Namen von Elementen und Attributen in XHTML immer klein geschrieben werden.
  • Elemente müssen immer geschlossen werden. Für leere Elemente verwendet man üblicherweise das EmptyElemTag, z.B. <br />, das Leerzeichen vor dem / wird zur Kompatibilität mit einigen älteren Browsern empfohlen.
  • Attribute müssen immer einen Attributwert besitzen, z.B. <hr noshade="noshade" />.
  • Der Attributwert muss immer in Anführungszeichen stehen.
  • Das Dokumentelement, in der Regel das <html/>-Element, muss immer die Namespace-Deklaration beim Start-Tag tragen: <html xmlns="http://www.w3.org/1999/xhtml">
  • Das lang-Attribut wurde abgeschafft bzw. durch das xml:lang-Attribut von XML ersetzt.

Dokumente werden von einem XHTML- oder XML-Browser nur dargestellt, wenn sie XML-Dokumente, also wohl-geformt sind. Außerdem wird empfohlen, nur gültige XHTML-Dokumente, also solche mit Dokumenttypdeklaration oder auch Schema zu schreiben.


Hinweis zum MIME-Type für XHTML

Der XHTML-MIME-Type appliation/xhtml+xml, welcher als Content-Type-Header bei E-Mail, HTTP und in Betriebssystemen verwendet werden soll, ist in RFC 3236 beschrieben.

Dabei gilt allgemein folgendes:

  • HTML muss als text/html gesendet werden.
  • XHTML 1.0 kann als application/xhtml+xml gesendet werden; achtet man auf die Rückwärtskompatibilität mit HTML, ist auch das Senden als text/html möglich.
  • XHTML Basic und XHTML 1.1 sollten immer als application/xhtml+xml gesendet werden.


XHTML betreffende Spezifikationen (W3C und IETF)

XHTML selbst:

  • HTML 4.01 ist nachwievor die Beschreibung für die Semantik der Elemente von XHTML; erst XHTML 2.0 wird eine neue, eigene Beschreibung der Semantik erhalten.
  • XHTML 1.0 ist im Wesentlichen nur eine Reformulierung von HTML 4.01 auf der Basis XML statt SGML. Wie HTML 4.01 auch gibt es XHTML 1.0 in drei Varianten: XHTML 1.0 Strict, XHTML 1.0 Transitional und XHTML 1.0 Frameset.
  • Modularization of XHTML zerlegt XHTML in einzelne Module und beschreibt diese.
  • XHTML Basic ist eine Auswahl von Modulen aus Modularization of XHTML für eingeschränkte Geräte wie Handys und Handhelds.
  • Ruby ist ein Modul für die Darstellung von Textüber- und -unterschriften, die insbesondere bei asiatischen Schriften gebräuchlich sind.
  • XHTML 1.1 ist eine Auswahl von Modulen aus Modularization of XHTML und Ruby und als die derzeit aktuelle (X)HTML-Version betrachtet werden kann.
  • XHTML 2.0 ist die derzeit in Entwicklung befindliche nächste Version von XHTML.

Grundlagen für XHTML:

  • XML als Basis für die Syntax von XHTML
  • XML Namespaces zum Verwenden und Mischen verschiedener XML-basierter Sprachen

Erweiterungen und Ergänzungen:

Sonstiges: