Hauptmenü

Untermenü

HTML - Grundlagen - DOCTYPE-Definition

1. Endlich

... zeige ich euch, wie man festlegt, für welche der möglichen Varianten man sich entscheidet. Und das geht über die besagte DOCTYPE-Definition (DTD). Wie ich hier schon erwähnte, gibt es insgesamt sieben Möglichkeiten.

Verständnis

Durch die besagte Definition wird festgelegt, welche Elemente die Sprache beinhaltet und nach welchen Regeln sie aufgebaut ist. Ein (X)HTML-Dokument ist zum Beispiel erst dann valide (gültig), wenn der Quellcode den Bestimmungen entspricht, die die DTD vorgibt.

2. HTML 4.01 Transitional

Diese Version ist letztendlich ein Kompromiss, den das W3C eingehen musste, um die Abwärtskompatibilität zu alten Seiten zu gewährleisten. Die Doctype-Defintion dazu sieht so aus.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">

Die Angabe der URL zur offiziellen DTD ("http://www.w3.org/TR/html4/loose.dtd") kann in diesem Fall weggelassen werden.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

Diese Variante stellt die unsauberste Lösung dar. So werden viele Dinge gnädig toleriert, die sonst eigentlich verboten sind. Details dazu kommen unter dem Punkt Feinheiten.

3. HTML 4.01 Strict

Diese Definition geht wesentlich rabiater mit eurem Quellcode um. So sind zum Beispiel die Verschachtelungsregeln deutlich restriktiver. Es ist in diesem Fall zwingend vorgeschrieben, das zwischen dem <body>-Tags auf der ersten Hierarchieebene Inline-Elemente in Block-Elemente gepackt werden müssen (dazu später mehr). Diese Variante stellt neben XHTML die Ideallösung dar. Die Syntax sieht folgendermaßen aus (die URL zur DTD muss hier, wie bei allen folgenden Varianten allerdings definitiv angegeben werden).


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
  "http://www.w3.org/TR/html4/strict.dtd">

4. HTML 4.01 Frameset

Interessiert uns nicht, da wir nicht mehr mit Frames arbeiten. Die Gründe dafür werde ich an dieser Stelle erläutern.

5. XHTML 1.0 Transitional

Diese Variante sollte Web-Designer schonend auf den kommenden Standard XHTML 2.0 vorbereiten. Mittlerweile hat sich dieses Thema aber erledigt, da die Entwicklung dazu eingestellt worden ist.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

6. XHTML 1.0 Strict

Die rabiate Variante, die Web-Designer auf den kommenden Standard XHTML 2.0 vorbereiten sollte.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

7. XHTML 1.0 Frameset

Interessiert uns nicht, da wir nicht mehr mit Frames arbeiten. Zu den Gründen siehe Link bei HTML 4.01 Frameset.

8. XHTML 1.1

Eine noch rabiatere Variante, die Web-Designer auf den kommenden Standard XHTML 2.0 vorbereiten sollte. Allerdings werde ich auf diese Möglichkeit nicht mehr weiter eingehen, sondern komplett ignorieren. Warum? Nun, weil ich mich mit dem Thema nie befasst habe. Früher sollen einige Browser damit Probleme gehabt haben und heute ist es eh uninteressant.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

9. Und was nun?

Wer von euch jetzt das leidige Thema HTML 5 im Kopf hat, der sollte das erst mal ignorieren. Da werden die zwei Welten von HTML 4 und XHTML 1 zu einer zusammengeführt. Aber welche DOCTYPE-Definition sollte man nun nehmen. Nun, um das zu entscheiden, muss man sich mit den unterschiedlichen Darstellungsmodi der Browser vertraut machen (Modi ist der Plural von Modus) und den Möglichkeiten die die jeweiligen Transitional- und Strict-Varianten bieten.

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt