HTML vs. XHTML

HTML und XHTML sind beide Sprachen, in denen Webseiten geschrieben werden. HTML ist SGML-basiert, während XHTML XML-basiert ist. Sie sind wie zwei Seiten derselben Medaille. XHTML wurde von HTML abgeleitet, um den XML-Standards zu entsprechen. Daher ist XHTML im Vergleich zu HTML streng und erlaubt dem Benutzer nicht, Lücken in Codierung und Struktur zu vermeiden.

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

Vergleichstabelle

Vergleichstabelle für HTML im Vergleich zu XHTML
HTMLXHTML
Einführung (aus Wikipedia) Die HTML- oder HyperText-Auszeichnungssprache ist die Hauptauszeichnungssprache für das Erstellen von Webseiten und anderen Informationen, die in einem Webbrowser angezeigt werden können. XHTML (Extensible HyperText Markup Language) ist eine Familie von XML-Auszeichnungssprachen, die Versionen der weit verbreiteten Hypertext Markup Language (HTML), der Sprache, in der Webseiten geschrieben werden, spiegeln oder erweitern.
Dateinamenerweiterung .html, .htm .xhtml, .xht, .xml, .html, .htm
Internet-Medientyp Text / HTML application / xhtml + xml
Entwickelt von W3C & WHATWG World Wide Web Konsortium
Art des Formats Dokumentdateiformat Auszeichnungssprache
Erweitert ab SGML XML, HTML
Steht für HyperText-Auszeichnungssprache Erweiterbare HyperText-Auszeichnungssprache
Anwendung Anwendung der Standard Generalized Markup Language (SGML). Anwendung von XML
Funktion Webseiten sind in HTML geschrieben. Erweiterte Version von HTML, die strenger und XML-basiert ist.
Natur Flexibles Framework, das einen nachgiebigen HTML-spezifischen Parser erfordert. Restriktive Teilmenge von XML und muss mit Standard-XML-Parsern analysiert werden.
Ursprung 1987 von Tim Berners-Lee vorgeschlagen. Empfehlung des World Wide Web-Konsortiums im Jahr 2000.
Versionen HTML 2, HTML 3.2, HTML 4.0, HTML 5. XHTML 1, XHTML 1.1, XHTML 2, XHTML 5.

Inhalt: HTML vs. XHTML

  • 1 Überblick über HTML und XHTML
  • 2 Merkmale von HTML- und XHTML-Dokumenten
  • 3 XHTML vs. HTML-Spezifikation
  • 4 Migrieren von HTML nach XHTML
  • 5 Migrieren von XHTML nach HTML
  • 6 Referenzen

Übersicht über HTML und XHTML

HTML ist die vorherrschende Auszeichnungssprache für Webseiten. HTML erstellt strukturierte Dokumente, indem strukturelle Semantik für Text wie Überschriften, Listen, Links, Anführungszeichen usw. verwendet wird. Dadurch können Bilder und Objekte eingebettet werden, um interaktive Formulare zu erstellen. Es wird beispielsweise als von eckigen Klammern umgebene Tags geschrieben, . Skripte in Sprachen wie JavaScript können ebenfalls geladen werden.

XHTML ist eine Familie von XML-Sprachen, die HTML-Versionen erweitern oder spiegeln. Es erlaubt keine Auslassung von Tags oder die Verwendung von Attributminimierung. XHTML erfordert, dass für jedes Starttag ein Endtag vorhanden ist und alle verschachtelten Tags in der richtigen Reihenfolge geschlossen werden müssen. Zum Beispiel während
ist in HTML gültig, es müsste geschrieben werden
in XHTML.

Funktionen von HTML-Dokumenten im Vergleich zu XHTML-Dokumenten

HTML-Dokumente bestehen aus Elementen, die aus drei Komponenten bestehen - einem Paar von Element-Tags - Start-Tag, End-Tag; Elementattribute, die in Tags und inhaltlichen, textlichen 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. Die zugewiesenen Werte müssen in Anführungszeichen gesetzt, geschlossen und geschachtelt sein, damit sie erkannt werden. Dies ist eine zwingende Anforderung in XHTML, im Gegensatz zu HTML, wo es optional ist. Die Deklaration von DOCTYPE würde Regeln für die folgenden Dokumente 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 Syntax von HTML erlaubt viele Abkürzungen, die XHTML nicht erlaubt, z. B. Elemente mit optionalen öffnenden oder schließenden Tags und sogar EMPTY-Elemente, die kein End-Tag enthalten dürfen. Im Gegensatz dazu erfordert XHTML, dass alle Elemente ein öffnendes Tag 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 vor dem Ende des Tags ein Schrägstrich wie folgt eingefügt wird:
. Die Einführung dieser Abkürzung, die in der SGML-Deklaration für HTML 4.01 nicht verwendet wird, kann ältere Software verwechseln, die mit dieser neuen Konvention nicht vertraut ist. Um dieses Problem zu beheben, müssen Sie vor dem Schließen des Tags ein Leerzeichen einfü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 Subspezifikationen - streng, lose und Frameset. Die Eröffnungsdeklarationen für ein Dokument unterscheiden HTML und XHTML. Andere Unterschiede sind syntaktisch. HTML erlaubt 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 in der Sprache definiertes 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 verwendet wird. dh 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 als HTML analysiert und interpretiert werden. In diesem Fall gelten die HTML-Regeln. Ein Stylesheet, das für ein XHTML-Dokument geschrieben wurde, das mit einem MIME-Typ Text / HTML ausgeliefert wird, funktioniert möglicherweise nicht wie beabsichtigt, wenn das Dokument dann mit einem MIME-Typ Anwendung / Xhtml + XML geliefert wird. Weitere Informationen zu MIME-Typen finden Sie unter MIME-Typen.

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

Wenn die Begriffe "XHTML" und "XHTML-Dokument" im Rest dieses Abschnitts erscheinen, beziehen sie sich auf XHTML-Markup, das mit einem XML-MIME-Typ bereitgestellt wird. XHTML-Markup, das als Text / html dient, ist ein HTML-Dokument, sofern es sich um Browser handelt.

Migrieren von HTML nach XHTML

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

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

Unter Beachtung der W3C-Richtlinien zur Kompatibilität sollte ein Benutzeragent (Webbrowser) in der Lage sein, Dokumente genauso einfach wie HTML oder XHTML zu interpretieren.

Migrieren von XHTML nach HTML

Um das subtile zu verstehen Unterschiede zwischen HTML und XHTML, Berücksichtigen Sie die Umwandlung eines gültigen und wohlgeformten XHTML 1.0-Dokuments in ein gültiges HTML 4.01-Dokument. Für diese Übersetzung sind folgende Schritte erforderlich:

  • Die Sprache für ein Element sollte mit einem angegeben werden lang Attribut statt der XHTML xml: lang Attribut. XHTML verwendet XMLs eingebaute sprachdefinierende Funktionalitätsattribute.
  • Entfernen Sie den XML-Namespace (xmlns = URI). HTML bietet keine Möglichkeiten 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 festgelegt ist Text / HTML. Sowohl für HTML als auch für XHTML kommt dies vom HTTP Inhaltstyp vom Server gesendeter Header.
  • Ändern Sie die XML-Syntax für leere Elemente in ein leeres Element im HTML-Stil (
    zu
    ).

Verweise

  • Wikipedia: XHTML
  • Wikipedia: HTML # SGML-basiertes versus XML-basiertes HTML