| # Grundgerüst einer HTML-Datei
| Grundgerüst einer HTML-Datei Grundgerüst einer XHTML-Datei Dokumenttyp-Deklaration Hinweis für die Praxis

## Grundgerüst einer HTML-Datei

Eine gewöhnliche HTML-Datei besteht grundsätzlich aus folgenden Teilen:

- Dokumenttyp-Deklaration (Angabe zur verwendeten HTML-Version)
- Header (Kopfdaten. z.B. Angaben zu Titel u.ä.)
- Body (Körper - anzuzeigender Inhalt, also Text mit Überschriften, Verweisen, Grafikreferenzen usw.)

### Schema:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
           "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Text des Titels</title>
    </head>
    <body>

    </body>
    </html>

### Erläuterung:

Die erste Zeile sieht für Anfänger zunächst verwirrend aus. Diese etwas komplizierte Angabe ist eine Dokumenttyp-Deklaration. Einzelheiten dazu weiter unten bei Dokumenttyp-Deklaration.

Der gesamte übrige Inhalt einer HTML-Datei wird in die Tags `<html>` bzw. `</html>` eingeschlossen. Das `html`-Element wird auch als Wurzelelement einer HTML-Datei bezeichnet. Hinter dem einleitenden HTML-Tag folgt das einleitende Tag für den Kopf `<head>`. Zwischen diesem Tag und seinem Gegenstück `</head>` werden die Kopfdaten einer HTML-Datei notiert. Die wichtigste dieser Angaben ist der Titel der HTML-Datei, markiert durch `<title>` bzw. `</title>`. Unterhalb davon folgt der Textkörper, begrenzt durch `<body>` bzw. `</body>`. Dazwischen wird dann der eigentliche Inhalt der Datei notiert, also das, was im Anzeigefenster des WWW-Browsers angezeigt werden soll.

### Beachten Sie:

Wenn Sie Frames (mehrere Bildschirmfenster) einsetzen wollen, sieht das Grundgerüst von Dateien, in denen ein Frameset definiert wird, anders aus. Dies wird im Abschnitt Grundgerüst einer HTML-Datei mit Framesets beschrieben. Befassen Sie sich mit Frames aber erst, wenn Sie mit den Grundlagen von HTML schon etwas vertrauter sind.

## Grundgerüst einer XHTML-Datei

Wenn Sie XHTML-gerechtes HTML schreiben wollen, sieht das Grundgerüst ähnlich aus. Nur am Anfang ist einiges anders.

### Schema:

    <?xml version="1.0"?>
    <!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">
    <head>
    <title>Text des Titels</title>
    </head>
    <body>

    </body>
    </html>

### Erläuterung:

Noch vor der Dokumenttyp-Deklaration sollte bei XHTML-Dateien der Bezug zu XML hergestellt werden. Dazu dient die erste Zeile mit den Fragezeichen hinter der öffnenden spitzen Klammer und vor der schließenden spitzen Klammer. Notieren Sie diese Zeile so wie im Beispiel angegeben. Es handelt sich um eine so genannte XML-Deklaration.

Bei der Dokumenttyp-Deklaration muss ein für XHTML gültiger Dokumenttyp angegeben werden. Einzelheiten dazu weiter unten im Abschnitt Dokumenttyp-Deklaration.

Im einleitenden `<html>`-Tag muss der verwendete XML-Namensraum mit einem Attribut namens `xmlns` angegeben werden. Benutzen Sie die Angabe wie im obigen Beispiel.

Damit ist die Datei als XHTML-Datei deklariert. Der weitere Quelltext ist im Prinzip normales HTML, allerdings müssen Sie die Unterschiede zwischen XHTML und HTML beachten. Befassen Sie sich mit diesen Unterschieden aber erst, wenn Sie schon etwas vertrauter mit HTML sind.

## Dokumenttyp-Deklaration

HTML ist innerhalb der Familie der Auszeichnungssprachen nur eine von vielen, wenn auch die prominenteste. HTML selbst hat außerdem bereits eine mehrjährige Geschichte und ist in verschiedenen, recht unterschiedlichen Versionen normiert worden. Mit der Dokumenttyp-Deklaration bestimmen Sie, welche Auszeichnungssprache in welcher Version Sie verwenden. Eine auslesende Software, etwa ein Web-Browser, kann sich an dieser Angabe orientieren.

Die Regeln für HTML sind mit Hilfe von SGML formuliert, die Regeln für XHTML mit Hilfe von XML. Nach den Regeln einer SGML- oder XML-basierten Auszeichnungssprache ist eine HTML-Datei oder eine XHTML-Datei erst dann eine gültige (valide) Datei, wenn sie einen bestimmten Dokumenttyp angibt und sich dann innerhalb des restlichen Quelltextes genau an die Regeln hält, die für diesen Dokumenttyp definiert sind. Denn hinter jeder Dokumenttyp-Deklaration stecken so genannte Dokumenttyp-Definitionen (DTD). Auch für HTML gibt es solche Dokumenttyp-Definitionen. Dort ist geregelt, welche Elemente ein Dokument vom Typ HTML enthalten darf, welche Elemente innerhalb von welchen anderen vorkommen dürfen, welche Attribute zu einem Element gehören, ob die Angabe dieser Attribute Pflicht ist oder freiwillig usw.

Als HTML-Anfänger mag Ihnen der Aufwand, der da betrieben wird, vielleicht nicht ganz einleuchten. Doch genau diese Dokumenttypen, mit deren Hilfe sich Regeln für Sprachen wie HTML genau definieren lassen, sind ein riesiger Fortschritt in der EDV. Denn nur so lässt sich das Konzept der software-unabhängigen, aber regelgerechten Dateiformate konsequent durchsetzen. Ohne den Bezug auf die offiziellen Regeln wären Sprachen wie HTML unverbindliche Konventionen, die schnell in Dialekten verwässern würden. Das ist genauso wie bei natürlichen Sprachen: ohne eine gewisse Regelung der "Rechtschreibung" würde eine Schriftsprache im Laufe der Zeit so stark zersetzt, dass am Ende kaum jemand mehr verstehen kann, was der andere mit dem, was er geschrieben hat, meint. Da Software außerdem noch viel dümmer ist, als Menschen, und viel genauere Vorgaben benötigt, um zu "verstehen", was man ihr mitteilt, ist das Beziehen auf Regeln dort sogar noch wesentlich wichtiger.

### Beispiel einer Dokumenttyp-Deklaration:

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

### Erläuterung:

Notieren Sie die Dokumenttyp-Deklaration am Anfang der HTML-Datei vor dem einleitenden `<html>`-Tag in Großbuchstaben so, wie angegeben. Hinter der startenden spitzen Klammer folgt ein Ausrufezeichen. Dahinter folgt die Angabe `DOCTYPE HTML PUBLIC`. Das bedeutet, dass Sie sich auf die öffentlich verfügbare HTML-DTD beziehen. Die folgende Angabe, die in Anführungszeichen steht, ist wie folgt zu verstehen:

`W3C` ist der Herausgeber der DTD, also das W3-Konsortium. Eine Angabe wie `DTD HTML 4.01 Transitional` bedeutet, dass Sie in der Datei den Dokumenttyp "HTML" verwenden, und zwar in der Sprachversion 4.01 und deren Variante "Transitional". Das `EN` ist ein Sprachenkürzel und steht für die Sprache, in diesem Fall Englisch. Die Angabe bezieht sich darauf, in welcher natürlichen Sprache die Element- und Attributnamen der Tagsprache definiert wurden, nicht auf den Inhalt Ihrer Datei. Benutzen Sie also immer `EN`, da die Namen von HTML-Elementen und -Attributen auf der englischen Sprache basieren. Die Schrägstriche notieren Sie so wie im obigen Beispiel.

Ferner enthält die Dokumenttyp-Deklaration die Web-Adresse der Dokumenttyp-Definition (DTD). Die Angabe dieser Adresse ist nicht zwingend nötig. Eine Angabe wie:

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

ist also ebenfalls erlaubt. Über die angegebene Web-Adresse kann eine auslesende Software die Dokumenttyp-Definitionen aufrufen und in den darin notierten Regeln "nachgucken". Die meisten heutigen Browser tun das bei HTML allerdings nicht, weil die verbreiteten Dokumenttypen bereits implementiert sind. Da sie ferner bei vielen Web-Seiten mit übelsten Sprachverunstaltungen rechnen müssen, besitzen sie die Fähigkeit, auch nicht regelgerechtes HTML halbwegs ordentlich auf den Bildschirm zu bringen, allerdings oft mit nicht unerheblichen Abweichungen. Das eigentlich gewünschte Verhalten ist allerdings, dass ein Browser dann, wenn eine HTML-Datei eine Dokumenttyp-Deklaration enthält, auch auf der Einhaltung der Regeln dieses Dokumenttyps besteht. Bei XML-Dokumenten ist es durchaus üblich, dass ein Parser bei einem Regelverstoß abbricht - anstelle der Web-Seite erscheint dann nur eine trockene Fehlermeldung, dass das Dokument nicht gültig (valide) sei. Bei XHTML-Seiten, die mit dem MIME-Typ `application/xhtml+xml` ausgeliefert werden, ist das bereits der Fall.

Zum Redaktionszeitpunkt dieses Dokuments ist die HTML-Version 4.01 aktuell. Bei dieser HTML-Version gibt es drei Sprachvarianten. Für eine davon müssen Sie sich entscheiden und den entsprechenden Dokumenttyp angeben:

### Die Variante "Strict" für HTML:

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

Benutzen Sie diese Angabe, wenn Sie gemäß der reinen Lehre bestimmte Elemente und Attribute nicht mehr verwenden wollen, die in früheren HTML-Standards eingefügt wurden, aber mittlerweile durch andere Möglichkeiten (vor allem durch Stylesheets) ersetzbar sind. Ferner sind die Verschachtelungsregeln für HTML-Elemente in der strict-Variante strenger und im Sinne strukturierter Inhalte sauberer formuliert. So ist es in dieser Variante beispielsweise nicht erlaubt, zwischen `<body>` und `</body>` einfach nur Text zu notieren. Alle Inhalte müssen in so genannten Block-Elementen stehen, z.B. in Überschriften, Textabsätzen, Tabellen usw.

### Die Variante "Transitional" für HTML:

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

Benutzen Sie diese Angabe, wenn Sie einige der in der "Strict"-Variante nicht erlaubten Elemente und Attribute verwenden wollen oder müssen. In der Variante "transitional" sind zum Beispiel die Regeln für die Elementverschachtelung etwas milder. Es ist nach dieser Variante erlaubt, zwischen `<body>` und `</body>` "nackten Text" außerhalb eines weiteren Elements zu notieren. Außerdem benötigen Sie diese Variante, wenn Sie in Links mit dem `target`-Attribut arbeiten wollen, beispielsweise um Framesets korrekt anzusteuern.

### Die Variante "Frameset" für HTML:

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

Diese Angabe ist nur für spezielle HTML-Dateien gedacht, in denen Framesets definiert werden. Siehe dazu den Abschnitt Framesets und Frames definieren.

### Entsprechende Dokumenttyp-Deklarationen für XHTML:

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

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

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

Auch für XHTML 1.0 gibt es die drei Varianten "Strict", "Transitional" und "Frameset". Am Beginn der Dokumenttyp-Deklaration wird "html" klein geschrieben, im Mittelteil muss bei Version 1.0 von XHTML `XHTML 1.0` notiert werden. Auch die Web-Adressen der DTDs sind andere als bei HTML.

Es gibt auch eine Sprachversion 1.1 von XHTML, die intern anders organisiert ist als XHTML 1.0. In XHTML 1.1 gibt es keine Sprachvarianten mehr. XHTML 1.1 entspricht nur noch der Sprachvariante "Strict" von XHTML 1.0.

### Dokumenttyp-Deklaration für XHTML 1.1:

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

### Ältere Dokumenttyp-Deklarationen:

In manchen Ausnahmefällen kann es sinnvoll sein, sich auch auf eine ältere HTML-Version zu beziehen. Tun Sie dies jedoch nur, wenn irgendwelche technischen Gründe es erfordern. Folgende ältere Angaben gibt es:

    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

Benutzen Sie diese Dokumenttyp-Deklaration, wenn Sie sich auf HTML 2.0 beziehen wollen.

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

Benutzen Sie diese Dokumenttyp-Deklaration, wenn Sie sich auf HTML 3.2 beziehen wollen.

Dokumenttyp-Deklarationen anderer HTML-Versionen sind nicht mehr im Gebrauch.

## Hinweis für die Praxis

Wenn Sie nun entmutigt sind durch das ganze Wirrwarr von HTML und XHTML, HTML-Sprachvarianten, XML- und Dokumenttyp-Deklarationen - lassen Sie sich davon nicht zu sehr beeindrucken. Das Wirrwarr ist dadurch entstanden, dass es auf dem Gebiet der Auszeichnungssprachen viele Entwicklungen gibt und dass bei dieser Entwicklung auch nur mit Wasser gekocht wird. Vieles war zunächst unausgereift, und heute ist man bemüht, einen Spagat zu machen zwischen den fröhlichen Anfängen von HTML und den wachsenden Anforderungen, die an HTML gestellt werden, wenn es für professionelle Datenverarbeitung verwendet werden soll.

Benutzen Sie für Ihre ersten Schritte in HTML zunächst einfach mal das oben vorgestellte Grundgerüst einer HTML-Datei so wie es dort notiert ist, und lernen Sie den Umgang mit weiteren HTML-Elementen und ihren Attributen, sowie den Umgang mit Stylesheets. Wenn Sie erst einmal vertrauter sind mit diesen Sprachen, werden Sie auch besser verstehen, welchen Sinn und Zweck die Unterschiede zwischen HTML und XHTML und die Unterschiede zwischen Sprachvarianten wie "Strict", "Transitional" und "Frameset" haben.

### Beachten Sie:

Die Darstellung ist in den meisten Browsern in vielen Belangen von den hier vorgestellten Dokumenttyp-Deklarationen abhängig. Beim Erlernen von Stylesheets kann es von Vorteil sein, sich vorzugsweise mit Dokumenten der Variante "Strict" zu beschäftigen. Weitere Informationen hierzu finden Sie im Abschnitt über das CSS-Box-Modell.

| Regeln beim Editieren von HTML
| Textauszeichnung

© 2005 Impressum