XHTML
Nach obenÜbersicht
- Was ist XHTML eigentlich?
- Neuerungen und Vorteile von XHTML
- Trennung von Inhalt und Gestaltung
- Modularisierung von XHTML
- Versionenübersicht
- XHTML Dokumenttypdefinitionen (DTD)
- Unterschiede zu HTML 4.01
Was ist XHTML eigentlich?
XHTML steht für Extensible Hypertext Markup Language und ist eine Reformulierung von HTML 4 auf der Basis von XML. Seit dem 20. Januar 2000 ist XHTML 1.0 Empfehlung des W3C, und ist HTML 4.01 sehr ähnlich.
Nach obenNeuerungen und Vorteile von XHTML
Der aktuelle Standard bringt einige Vorteile gegenüber HTML 4.0 mit sich:
- Ein großes Ärgernis ist heutzutage, dass ein Grossteil der Internetseiten im Web sehr schlechtes Markup enthält, so dass viele Seiten nur schlecht oder gar nicht angezeigt werden können. Die Verwendung von XHTML führt hingegen zwangsläufig zu wohlgeformten Dokumenten, da er als eine XML-Anwendung definiert ist und in XML alles fehlerfrei ausgezeichnet werden muss. Wenn als application/xhtml+xml und nicht text/html ausgeliefert wurde, werden Browser, die in der Lage sind XHTML-Dokumente darzustellen, anstatt die fehlerhafte Seite zu interpretieren einfach eine Fehlermeldung ausgeben. Da einige Browser, wie z.B. der IE, XHTML+XML Appplikationen leider nicht interpretieren können, kann man entweder dynamisch durch Browsererkennung der passende MIME Type wählen oder noch aus Kompatibilitätsgründen als Text/HTML ausliefern.
- Alle XHTML-Dokumente können ohne weiteres mit Standard-XML-Werkzeugen angezeigt, bearbeitet und validiert werden, da sie XML-konform sind.
- XHTML-Dokumente können auch in alten, HTML 4.0-konformen Browserversionen gut angezeigt werden. Ein nicht XHTML-fähiger Webbrowser kann XHTML-Dokumente trotzdem richtig darstellen, er verarbeitet sie als normales HTML. Dabei wird ausgenutzt, dass die HTML-Implementierung der verbreiteten Browser tolerant gegenüber Syntaxfehlern sind.
- Skripte und Applets, die sowohl auf dem HTML Document Object Model (DOM), als auch auf dem XML Document Object Model basieren, können in XHTML-Dokumenten zum Einsatz kommen.
- Es gibt in XHTML mehr verfügbare Zeichensätze, vorteilhaft, wenn man für Seiten zum Beispiel eine Alternative in kyrillisch anbieten möchte
Trennung von Inhalt und Gestaltung:
Die Kombination von HTML und XML führt zu einer strikteren Trennung von Inhalt und Design, da XML die Beschreibung der logischen Struktur unterstützt und die Verwendung von CSS für Gestaltung Dokuments unumgänglich ist. Die Idee ist aber schon fast 40 Jahre alt. Bereits im September 1967 machte W. Tunnicliffe von der Graphic Communications Association (GCA) den Vorschlag, den Informationsgehalt eines Dokuments von seiner äußeren Form zu trennen, und begründete damit das Konzept des generic coding.
Nach obenModularisierung von XHTML
Da es in XML relativ einfach ist, neue Elemente oder zusätzliche Elementattribute einzuführen, wird dem Bestreben von Dokumententwickler und Designer von Benutzerprogrammen, ständig neues Markup zu produzieren, Rechnung getragen.
Momentan gibt es den Trend, HTML auf mobile Geräte wie PDAs, Handys, Fernseher und andere Geräte zu bringen. Alle dieser Geräte haben unterschiedliche Anforderungen und unterliegen verschiedenen Beschränkungen. Die Modularisierung von XHTML gestattet die Kombination mit anderen Modulen, um Teilmengen (zum Beispiel eine abgespeckte Version für Handys) von XHTML oder erweiterte Dokumenttypen (zum Beispiel für die Veröffentlichung wissenschaftlicher Arbeiten) zu schaffen, die den Anforderungen der Zukunft gerecht werden sollen.
Beispiele sind: XHTML 1.1, XHTML Basic und MathML.
Versionenübersicht
- XHTML 1.0 stellt eine Revision von HTML 4.01 dar, mit den Dokumententypen: Strict, Transitional und Frameset.
- XHTML 1.1 ist die aktuelle XHTML-Version.Es gibt nur noch einen Dokumententyp, der in etwa der Strict-Variante von XHTML 1.0 enspricht; d.h. man trennt sich von den schon in XHTML 1.0 Strict missbilligten Elementen und Attributen der Transitional- und der Frameset-Variante, die direkt die Präsentation des Dokuments beeinflussen. XHTML 1.1 ist Gegensatz zu XHTML 1.0 nicht mit Blick auf die Kompatibilität zu HTML-Browsern angelegt.
- XHTML Basic ist für PDAs und Handys gedacht
- XHTML 2.0 ist gerade in der Entwicklung und soll mit dem Erbe aus HTML 4 brechen - es wird grundlegend neue Veränderungen geben, vorallem die mangelnde Kompatibilität von XHTML-2.0-Dokumenten zu XHTML-1.1-Dokumenten. Hier gibt es Informationen über den aktuellen Stand der Entwicklung.
XHTML Dokumenttypdefinitionen
Eine DTD legt die Struktur eines XML oder SGML fest. Sie beschreibt zum Beispiel (X)HTML oder XSL. Die Angabe einer DTD ist in XHTMl zwingend für eine valide Seite erforderlich, da sie dem Browser mitteilt, welches Dokument er darstellen und dem Validiator, was er nach was überprüft werden soll.
Wird ein vollständiger und korrekter Dokumententype angegeben, rendern de meisten Browser Seiten im sog. Standardsmode, was bedeutet, dass Browser sich konsequenter an die CSS-Spezifikationen orientieren. Das Dokument wird als schneller vom Browser generiert, da nicht interpretiert und eventuell invalides Markup kompensiert werden muss. Manche Browser schalten bei fehlender DTD in den sog. "Quirksmode". In diesem Modus, versucht der Browser sich wie frühere Versionen zu verhalten, die zu Zeiten, als die Angabe eines Dokumententyps noch nicht üblich war, verbreitet waren - sprich der Benutzeragent simuliert die "Browsersteinzeit", um größtmögliche Kompatibilität herzustellen.
Es sollte eigentlich jedem einleuchten, daß das nicht gerade vorteilhaft ist. Der Internet Explorer schaltet sogar bei korrekter Angabe der XML-Deklaration am Anfang eines Dokumentes in den Quirksmode. Aus diesem Grunde hat das W3C entschieden, auch andere Deklarationsformen zuzulassen.
Hier die vier gültigen DTDs für XHTML 1.0 und XHTML 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
" DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
" DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
Nach obenUnterschiede zu HTML 4.01
- Ab HTML 1.0 müssen die Element- und Attributnamen stets klein geschrieben werden.
<html>-Tag wird zu<html xmlns="http://www.w3.org/1999/xhtml">erweitert.- Im Gegensatz zu HTML (z.B der img-Tag) müssen Tags immer geschlossen werden. Für leere Elemente wird die Schreibweise
<br />verwendet, wobei das Leerzeichen vor dem schließenden / zur Kompatibilität mit einigen älteren Browsern empfohlen wird. - Die Rolle des name-Attributs bei den Elementen a, frame und map übernimmt ab XHTML 1.0 das id-Attribut. Wenn Abwärtskompatibilität erwünscht ist, sollten sowohl das name- als auch das id-Attribut mit gleichem Attributwert notiert werden. In XHTML 1.1 bzw. XHTML-Modularisierung existiert kein name-Attribut mehr für die besagten Elemente.
- Das Attribut name bei den Elementen
<form>und<img>ist nur noch in XHTML 1.0 Transitional vorhanden, nicht in XHTML 1.0 Strict und XHTML 1.1. Diese Einschränkung ist vor allem beim JavaScript-Zugriff auf die Elemente relevant. - Attribute, die nur einen bestimmten Wert besitzen können und daher in HTML abgekürzt werden können, müssen immer einen Attributwert besitzen, z. B.
<input type="radio" checked="checked" /> - Attributwerte müssen immer in Anführungszeichen stehen
- In XHTML 1.1 wurde das lang-Attribut durch das
xml:lang-Attribut von XML ersetzt. In XHTML 1.0 wird die Angabe beider Attribute empfohlen, z. B.<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de"> - Die Angabe einer DTD ist zwingend erforderlich.
werbegeschenk
In dem Text sind leider einige kleine "Fehler" oder Ungereimtheiten. Einige Beispiele: Man kann mit XHTML auch mieses MarkUp schreiben. Man kann sogar fehlerhaftes MarkUp schreiben so lange man das ganze als text/html ausliefert und nicht als application/xhtml+xml. Nur mit diesem Content-Type wirft der Browser bei Fehlern auch eine Fehlermeldung aus - der IE kanns allerdings garnicht. Die DTD steht nicht immer als erstes in einem XHTML-Dokument. Da kann/sollte auch die XML-Deklaration (<?xml version="1.0" encoding="UTF-8"?>) stehn. Auch wenn ich eine "korrekte" DTD angebe heißt das nicht zwangsläufig, dass der Browser jetzt im "Standards Compliance Mode" läuft. So einfach ist das leider nicht. (Wo kann man eigentlich Kritik zu Seite selbst loswerden? (Umbrüche in den Kommentaren werden nicht dargestellt, Kommentarbox zu klein, etc. pp. )
Twisting
Ich denke, dass ich die Fehler soweit korrigiert habe...kannst ja ncoh einmal drüber schauen. :)