Dokumenttypdefinition


Mit der Dokumententypdefinition, kurz DTD, wird im Quelltext einer Website bestimmt, welche HTML-Version verwendet wird. Auf dieser Basis kann ein Browser oder eine andere Lesesoftware den im Quelltext hinterlegten Content abbilden, da er erfasst, um welche Art von Dokument es sich handelt. In der Vergangenheit war es so, dass viele Browser keine Inhalte darstellen konnten, wenn keine oder eine falsche DTD notiert war. Der aktuelle Standard HTML 5 benötigt jedoch die DTD-Angabe nicht mehr, um die Website korrekt anzuzeigen, sondern vielmehr, um sie gegen die Dokumenttypdefinition zu validieren. Den Standard für die Definitionen des Dokumenttyps liefert das W3C.

Ursprung

HTML wird bereits seit vielen Jahren als Auszeichnungssprache genutzt. Aus diesem Grund ist HTML in vielen verschiedenen Versionen verfügbar. Die neueste Version ist HTML5. Alte Versionen wie XTHML oder HTML 4 werden nur noch bei alten Websites verwendet. Ursprünglich basierte HTML auf der Metauszeichnungsprache SGML. Die DTD beschrieb die Struktur von Dokumenten, die mit Untermengen (XML) oder Anwendungen (HTML) von SGML erstellt wurden. Mit der Entwicklung von HTML5 wurden diese Verbindungen aufgehoben. HTML5 ist keine Anwendung mehr von SGML, sondern selbst eine generalisierte Sprache, die rückwärtskompatibel mit den vorangegangen Versionen ist.

Die Dokumententypdefinition für HTML liefert im Quelltext eines Webdokuments die Angabe zur verwendeten Version. Die Angabe ist obligatorisch, damit die verarbeitende Anwendung (der Browser) erkennt, um welchen Dokumenttyp es sich handelt und welche Auszeichnungen erlaubt sind. Jedoch stellen moderne Browser den Inhalt eines HTML-Dokumentes auch dann dar, wenn die DTD-Angabe fehlt. Eine HTML-Datei ist jedoch erst dann valide, wenn sie über einen klar definierten Dokumententyp eingeleitet wird. Dieser wiederum wird über die Dokumententypdefinition <!DOCTYPE html> bestimmt. Sie gibt an, welche Zeichen in einem HTML-Dokument verwendet werden dürfen und welche Attribute verwendet werden müssen.[1] So muss jedes HTML-Dokument zum Beispiel ein Head und ein Body-Element beinhalten und zudem in einer bestimmten logischen Struktur (Baumstruktur) notiert sein, wenn es valide sein soll.

<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
  </body>
</html>

Die Dokumententypdefinition für den Browser

Wenn eine Website mit einem Browser aufgerufen wird, lädt dieser die im Quelltext hinterlegte Dokumententypdefinition herunter und wendet sie auf das zu öffnende Dokument an, um die darin enthaltenen Zeichen korrekt zu interpretieren. Browser wie Firefox von Mozilla, der Internet Explorer von Windows oder Chrome von Google arbeiten W3C-konform und können verschiedene Dokumententypdefinitionen interpretieren. Allerdings kann es vorkommen, dass vor allem Websites, die ältere Versionen der Dokumententypdefinition verwenden, Bugs bei der Anzeige und beim Auslesen von CSS erzeugen. Andere Browser wie Opera arbeiten so, dass sie vorliegende HTML-Seiten anhand des jeweils aktuellsten Standards interpretieren. Auf diese Weise wird die Gefahr von Fehlern verringert. Die DTD dienen also dazu, valide HTML-Dokumente auszuzeichnen und die Wahrscheinlichkeit der korrekten Darstellung steigt, wenn sie valide sind.

Aufbau

Es existieren seitens des W3C zwar Vorschläge für gängige HTML-Dokumententypdefinitionen, doch muss jeder Webmaster schließlich eigene Anpassungen vornehmen, damit seine Internetseite in allen Browsern korrekt dargestellt wird. Die Angabe des Dokumententyps ist der erste Eintrag im Quellcode einer HTML-Seite. Die DTD-Angabe ist case-sensitive: Die Zeichenkette Doctype muss großgeschrieben werden.

<!DOCTYPE html>

Bei XHTML wird die Deklaration der XHTML-Version noch vorangestellt:

<?xml version="1.0"?>
<!DOCTYPE ... >

Ein Beispiel:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="de">

Die hinter dem Doctype verwendete Adresse gibt den Pfad zur Definition des Dokumententyps an. Dort kann der entsprechende Browser die Definition herunterladen und auf das aktuelle Dokument anwenden. Durch die Angabe „public“ wird darauf verwiesen, dass die Quelle für die Dokumententypdefinition öffentlich ist. Die Sprachangabe, also EN, bezieht sich in diesem Fall nicht auf die Sprache, die im Content verwendet wird, sondern auf die Sprachversion der HTML-Definition. Eine Dokumententypdefinition für HTML sollte also immer auf EN verweisen.

Gängige Dokumententypdefinitionen für HTML/XHTML-Websites

In den unterschiedlichen Versionen von HTML gibt es einige Unterschiede bei der Angabe der DTD.

DTD für HTML4

Für HTML 4 gibt es drei verschiedene Definitionen:

  • HTML 4.01 strict: in einem solchen HTML-Dokument sind nur Strukturierungselemente im Quelltext erlaubt. Formatierung und Design werden über Style-Sheets gesteuert. Dadurch wird der HTML-Quellcode sehr schlicht und schnell lesbar.

Beispielzeile für diesen Dokumententyp:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  • HTML 4.01 transitional: dieser Dokumententyp gibt an, dass sowohl HTML-Attribute als auch Style-Sheets im vorliegenden Dokument eingesetzt werden. Es handelt sich bei dieser Form um eine Übergangsdefinition.

Die Beispielzeile für diesen Typ lautet:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  • HTML 4.01 frameset: mit diesem Dokumententyp definieren Sie, dass Ihre HTML-Datei Framesets, also einzelne Fenster, enthält. HTML-Elemente und der BODY werden hier jeweils auf andere Weise deklariert. So werden alle Elemente im BODY durch das FREAMESET ersetzt.

Für Seiten mit Framesets gilt dann diese Definition:

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

DTD für XHTML

XHTML 1.0 beruht auf den gleichen Regeln wie HTML 4.01. Der Unterschied besteht lediglich, darin, dass diese Auszeichnungssprache auf XML und nicht SGML basiert. Auch für XHTML können drei verschiedene Typen angegeben werden. Für sie gelten die gleichen Charakteristika wie für HTML-Dokumententypen. Im Folgenden werden jeweils die entsprechenden Beispiele für die Angaben aufgelistet:

  • 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 transitional:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.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 ist nicht mehr an die Regeln von HTML 4.01 gebunden. Aus diesem Grund existiert nur noch eine Dokumententypdefinition:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

DTD für HTML5

Mit HTML5 wurde die Dokumenttypdefinition vereinfacht:

<!DOCTYPE html>

Dokumententypdefinition für Websites und SEO

Da die Dokumententypdefinition für HTML-Seiten wichtig zur korrekten Anzeige von Webinhalten war, gehört die Kontrolle dieser Definitionen auch aktuell noch zum Bereich Onpage Optimierung. Denn nur, wenn sichergestellt ist, dass nahezu jedem User alle Inhalte einer Website wie gewünscht dargestellt werden, können Analysen zielführend erstellt und Marketingziele erreicht werden. Viele User verwenden noch alte Browser, die die DTD-Angabe benötigen. Wenn hier Fehler auftreten, wirkt sich das nicht unbedingt auf die Optik der Website aus, weil die meisten Browser die Inhalte dennoch anzeigen können. Vielmehr können HTML-Dokumente dann viele Fehler beinhalten und der Browser parst diese Fehler trotzdem. Das kostet Zeit und der User muss womöglich länger warten.

Durch die Wahl der entsprechenden Dokumententypdefinition entscheidet sich zudem, wie schlank der Quelltext einer Website ausfallen kann und wie es um die Text-to-Code-Ratio bestellt ist. Da die Ladegeschwindigkeit von Suchmaschinen als Rankingkriterium beurteilt wird, kann die Wahl der richtigen Dokumententypdefinition Vorteile beim Laden der Seite bringen – der Browser kann den Dokumenttyp schnell erfassen, um die Inhalte zu rendern. Hingegen wird das Verhältnis von Quellcode und Text aus Sicht der SEO ebenfalls als relevant erachtet. Dieser Aspekt sollte durch mehr Text und weniger Quellcode Beachtung finden.

Einzelnachweise

  1. HTML/Dokumentstruktur und Aufbau wiki.selfhtml.org. Abgerufen am 22.10.2015

Weblinks