HTML vs. XHTML

HTML und XHTML sind beide Sprachen, in denen Webseiten geschrieben sind. HTML ist SGML-basiert, während XHTML XML-basiert ist. Sie sind wie zwei Seiten derselben Medaille. XHTML wurde aus HTML abgeleitet, um den XML-Standards zu entsprechen. Daher ist XHTML im Vergleich zu HTML streng und erlaubt es dem Benutzer nicht, mit Fehlern in Codierung und Struktur davonzukommen.

Der Grund für die Entwicklung von XHTML waren verworrene browserspezifische Tags. In HTML codierte Seiten wurden in verschiedenen Browsern unterschiedlich angezeigt.

Vergleichstabelle

HTML versus XHTML Vergleichstabelle
HTML XHTML
Einführung (aus Wikipedia)HTML- oder HyperText-Markup-Sprache ist die Haupt-Markup-Sprache zum Erstellen von Webseiten und anderen Informationen, die in einem Webbrowser angezeigt werden können.XHTML (Extensible HyperText Markup Language) ist eine Familie von XML-Markup-Sprachen, die Versionen der weit verbreiteten Hypertext Markup Language (HTML) spiegeln oder erweitern, der Sprache, in der Webseiten geschrieben werden.
Dateinamenerweiterung.html, .htm.xhtml, .xht, .xml, .html, .htm
Internet-MedientypText / HTMLapplication / xhtml + xml
Entwickelt vonW3C & WHATWGWorld Wide Web Konsortium
Art des FormatsDokumentdateiformatAuszeichnungssprache
Erweitert vonSGMLXML, HTML
Steht fürHyperText Markup LanguageErweiterbare HyperText-Markup-Sprache
AnwendungAnwendung der Standard Generalized Markup Language (SGML).Anwendung von XML
FunktionWebseiten sind in HTML geschrieben.Erweiterte HTML-Version, die strenger und XML-basiert ist.
NaturFlexibles Framework, das einen milden HTML-spezifischen Parser erfordert.Restriktive Teilmenge von XML und muss mit Standard-XML-Parsern analysiert werden.
UrsprungVorgeschlagen von Tim Berners-Lee im Jahr 1987.Empfehlung des World Wide Web Consortium im Jahr 2000.
VersionenHTML 2, HTML 3.2, HTML 4.0, HTML 5.XHTML 1, XHTML 1.1, XHTML 2, XHTML 5.

Übersicht über HTML und XHTML

HTML ist die vorherrschende Auszeichnungssprache für Webseiten. HTML erstellt strukturierte Dokumente, indem es strukturelle Semantik für Text wie Überschriften, Listen, Links, Anführungszeichen usw. bezeichnet. Es ermöglicht das Einbetten von Bildern und Objekten, um interaktive Formulare zu erstellen. Es wird als Tags geschrieben, die von spitzen Klammern umgeben sind - zum Beispiel . Skripte in Sprachen wie JavaScript können ebenfalls geladen werden.

XHTML ist eine Familie von XML-Sprachen, die HTML-Versionen erweitern oder spiegeln. Das Auslassen von Tags oder die Verwendung der Attributminimierung ist nicht zulässig. Für XHTML muss für jedes Start-Tag ein End-Tag vorhanden sein, und alle verschachtelten Tags müssen in der richtigen Reihenfolge geschlossen werden. Zum Beispiel während

ist in HTML gültig, müsste geschrieben werden

Funktionen von HTML- und XHTML-Dokumenten

HTML-Dokumente bestehen aus Elementen mit drei Komponenten - einem Paar von Element-Tags - Start-Tag, End-Tag; Elementattribute, die in Tags und tatsächlichen, textuellen und grafischen Inhalten angegeben sind. HTML-Element ist alles, was zwischen und einschließlich Tags liegt. (Tag ist ein Schlüsselwort, das in spitzen Klammern eingeschlossen ist.)

XHTML-Dokumente haben nur ein Stammelement. Alle Elemente, einschließlich Variablen, müssen in Kleinbuchstaben geschrieben werden, und die zugewiesenen Werte müssen in Anführungszeichen gesetzt, geschlossen und verschachtelt sein, damit sie erkannt werden. Dies ist eine obligatorische Anforderung in XHTML im Gegensatz zu HTML, wo es optional ist. Die Erklärung von DOCTYPE würde Regeln für die Einhaltung von Dokumenten festlegen.

Abgesehen von den unterschiedlichen Eröffnungsdeklarationen für ein Dokument sind die Unterschiede zwischen einem HTML 4.01- und einem XHTML 1.0-Dokument - in jeder der entsprechenden DTDs - weitgehend syntaktisch. Die zugrunde liegende HTML-Syntax ermöglicht viele Verknüpfungen, die XHTML nicht bietet, z. B. Elemente mit optionalen öffnenden oder schließenden Tags und sogar leere Elemente, die kein End-Tag haben dürfen. Im Gegensatz dazu erfordert XHTML, dass alle Elemente ein öffnendes oder ein schließendes Tag haben. XHTML führt jedoch auch eine neue Verknüpfung ein: Ein XHTML-Tag kann innerhalb desselben Tags geöffnet und geschlossen werden, indem ein Schrägstrich vor dem Ende des Tags wie folgt eingefügt wird:

. Die Einführung dieser Kurzform, die in der SGML-Deklaration für HTML 4.01 nicht verwendet wird, kann frühere Software verwirren, die mit dieser neuen Konvention nicht vertraut ist. Eine Lösung hierfür besteht darin, vor dem Schließen des Tags ein Leerzeichen einzufügen:

XHTML vs HTML-Spezifikation

HTML und XHTML sind eng miteinander verbunden und können daher gemeinsam dokumentiert werden. Sowohl HTML 4.01 als auch XHTML 1.0 haben drei Unterspezifikationen - streng, locker und Frameset. Der Unterschied zwischen den Eröffnungsdeklarationen für ein Dokument unterscheidet HTML und XHTML. Andere Unterschiede sind syntaktisch. HTML ermöglicht Verknüpfungen wie Elemente mit optionalen Tags, leere Elemente ohne End-Tags. XHTML ist sehr streng beim Öffnen und Schließen von Tags. XHTML verwendet ein integriertes sprachdefinierendes Funktionsattribut. Alle Syntaxanforderungen von XML sind in einem wohlgeformten XHTML-Dokument enthalten.

Beachten Sie jedoch, dass diese Unterschiede nur gelten, wenn ein XHTML-Dokument als XML-Anwendung bereitgestellt wird. Das heißt, mit einem MIME-Anwendungstyp / xhtml + xml, application / xml oder text / xml. Ein XHTML-Dokument, das mit einem MIME-Typ von Text / HTML bereitgestellt wird, muss analysiert und als HTML interpretiert werden. Daher gelten in diesem Fall die HTML-Regeln. Ein Stylesheet, das für ein XHTML-Dokument geschrieben wurde, das mit einem MIME-Typ von Text / HTML bereitgestellt wird, funktioniert möglicherweise nicht wie beabsichtigt, wenn das Dokument dann mit einem MIME-Typ von Anwendung / xhtml + xml bereitgestellt wird. Weitere Informationen zu MIME-Typen finden Sie unter MIME-Typen.

Dies kann besonders wichtig sein, wenn Sie XHTML-Dokumente als Text / HTML bereitstellen. Sofern Sie sich der Unterschiede nicht bewusst sind, können Sie Stylesheets erstellen, die nicht wie beabsichtigt funktionieren, wenn das Dokument als echtes XHTML bereitgestellt wird.

Wenn die Begriffe "XHTML" und "XHTML-Dokument" im Rest dieses Abschnitts erscheinen, beziehen sie sich auf XHTML-Markups, die mit einem XML-MIME-Typ bereitgestellt werden. Das als Text / HTML bereitgestellte XHTML-Markup ist für Browser ein HTML-Dokument.

So migrieren Sie von HTML zu XHTML

Wie von W3C empfohlen, können die folgenden Schritte für die Migration von HTML zu XHTML (XHTML 1.0-Dokumente) ausgeführt werden:

  • Fügen Sie die Attribute xml: lang und lang in Elemente ein, die die Sprache zuweisen.
  • Verwenden Sie die Syntax für leere Elemente für Elemente, die in HTML als leer angegeben sind.
  • Fügen Sie ein zusätzliches Leerzeichen in Tags mit leeren Elementen ein:
  • Schließen Sie Close-Tags für Elemente ein, die Inhalt haben können, aber leer sind:
  • Fügen Sie keine XML-Deklaration hinzu.

Ein Benutzeragent (Webbrowser) sollte die Kompatibilitätsrichtlinien von W3C genau befolgen und Dokumente genauso einfach interpretieren können wie HTML oder XHTML.

So migrieren Sie von XHTML nach HTML

Um die subtilen Unterschiede zwischen HTML und XHTML zu verstehen, sollten Sie die Umwandlung eines gültigen und wohlgeformten XHTML 1.0-Dokuments in ein gültiges HTML 4.01-Dokument in Betracht ziehen. Um diese Übersetzung zu erstellen, sind die folgenden Schritte erforderlich:

  • Die Sprache für ein Element sollte mit einem lang Attribut anstelle des XHTML-Attributs xml:lang werden. XHTML verwendet das integrierte sprachdefinierende Funktionsattribut von XML.
  • Entfernen Sie den XML-Namespace ( xmlns=URI ). HTML bietet keine Funktionen für Namespaces.
  • Ändern Sie die Dokumenttypdeklaration von XHTML 1.0 in HTML 4.01.
  • Falls vorhanden, entfernen Sie die XML-Deklaration. (In der Regel ist dies: ).
  • Stellen Sie sicher, dass der MIME-Typ des Dokuments auf text/html . Dies gilt sowohl für HTML als auch für XHTML aus dem vom Server gesendeten HTTP- Content-Type Header.
  • Ändern Sie die XML-Syntax für leere Elemente in ein leeres Element im HTML-Stil (

    zu

    ).

Ähnlicher Artikel