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.
HTML | XHTML | |
---|---|---|
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. |
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.
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:
.
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.
Wie von W3C empfohlen, können die folgenden Schritte für die Migration von HTML nach XHTML (XHTML 1.0-Dokumente) befolgt werden:
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.
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:
lang
Attribut statt der XHTML xml: lang
Attribut. XHTML verwendet XMLs eingebaute sprachdefinierende Funktionalitätsattribute. xmlns = URI
). HTML bietet keine Möglichkeiten für Namespaces.
). Text / HTML
. Sowohl für HTML als auch für XHTML kommt dies vom HTTP Inhaltstyp
vom Server gesendeter Header.
zu
).