Auch wenn HTML5 ein Thema ist, um das man dieser Tage kaum herum kommt, so sind HTML4 und XHTML noch immer sehr weit verbreitet und werden es auch bleiben.
Alle (X)HTML Dialekte haben eine Gemeinsamkeit. Der Aufbau von Dokumenten, die in (X)HTML notiert sind, unterliegt gewissen Regeln. Damit ein Browser weiß, nach welchen Regeln ein Dokument aufgebaut ist, muss ein syntaktisch korrektes Dokument eine DOCTYPE Deklaration enthalten.
Leider sind die verfügbaren DOCTYPEs für HTML4 und XHTML ein wenig aufwendiger in der Notation als das beim HTML5 DOCTYPE der Fall ist.
AUFBAU der DOYTYPE-Deklaration
Der Aufbau der DOCTYPE-Deklaration folgt folgendem Schema
<!DOCTYPE Wurzelelement PUBLIC "Public-Identifier" "URL">
Das Wurzelelement beschreibt das erste Element im Dokument, dass der DOCTYPE-Deklaration nachfolgt. Dies ist somit in allen HTML Dialekten html.
Das Schlüsselwort PUBLIC gibt an, dass ein Public-Identifier für die Angabe der URI zur DTD angegeben wird. Der Unterschied von PUBLIC zu SYSTEM ist, das im Falle von SYSTEM die DTD auf einem privaten oder geschlossenen System zu Verfügung gestellt
wird und nicht in einem frei zugänglichen System.
Im Falle von HTML gibt es standardisierte Public Identifier die der URI-Definition dienen (zum Beispiel “-//W3C//DTD HTML 4.01//EN”). Ein Browser muss nun nicht jedes Mal die DTD-Datei neu laden, falls ihm der Public Identifier bereits bekannt ist.
Wo die Datei letztlich konkret zu finden ist, wird über URL angegeben.
Verfügbare DOCTYPEs
HTML 4.01 Transitional
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
HTML 4.01 Strict
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Frameset
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
XHTML 1.0 Transitional
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Strict
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Frameset
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.1
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">