Jede formale Sprache, z.B. eine Programmiersprache wie Java
oder eine Auszeichnungssprache wie HTML, besitzt eine Syntax
(Grammatik). Die Syntax einer Sprache ist eine
definierte Menge von Regeln, nach denen
Ausdrücke und Texte dieser Sprache aus einem Alphabet
(Zeichenvorrat) gebildet werden. Entspricht ein Text allen
Regeln, so ist er korrekt. Man sagt auch, der Text ist dann
wohlgeformt
und valide.
Auch HTML ist eine Sprache mit einer eindeutig festgelegten
Syntax. Ein HTML-Dokument ist wohlgeformt, wenn es
die folgenden HTML-Regeln einhält:
- Jedes im Dokument benutzte HTML-Element besteht auf
einem Starttag (öffnendem Tag), einem Inhalt und einem Endtag
(schließendem Tag).
- Der Starttag besteht aus einer öffnenden spitzen
Klammer, einem Namen, einer optionalen Liste von Attributen
und einer schließenden spitzen Klammer. Beispiel:
<h1
id="ueberschrift">
.
- Der Endttag besteht aus einer öffnenden spitzen
Klammer, einem Slash (Schrägstrich), einem zum Starttag
identischen Namen und einer schließenden spitzen Klammer.
Beispiel:
</h1>
.
- Zwischen dem Start- und dem Endtag steht der Inhalt.
Der Inhalt kann ein weiteres HTML-Element, ein Text oder auch
leer sein.
- Alle Attributwerte müssen in Anführungszeichen
stehen. Beispiel:
<h1
id="ueberschrift">
.
- Ein nicht leeres Element muss einen Starttag und
einen Endtag haben.
- Ein leeres Element ohne Endtag muss einen schließenden Slash vor dem Ende
des Tags
haben. Beispiel:
<img/>
- Alle Starttags und Endtags müssen korrekt ineinander
geschachtelt sein.
- Markupzeichen wie <, > oder & dürfen in Texten nicht
vorkommen. Sie müssen durch ihre Entities
ersetzt werden.
Ein HTML-Dokument ist zudem valide (gültig),
wenn es die Regeln der HTML-Grammatik einhält:
- Es werden nur für HTML definierte Element- und Attributnamen benutzt. Eine
Liste aller HTML-Elemente kann
z.B. hier eingesehen werden:
HTML-Elemente.
Alle Attribute sind hier aufgelistet:
Attribute in HTML.
- Attribute kommen nur in denjenigen Elementen vor, für die sie definiert
sind. Eine genaue Auflistung aller Attribute und der
zugehörigen HTML-Elemente kann hier eingesehen werden: Attribute in HTML.
- Die Verschachtelungsregeln für Elemente werden eingehalten. Eine Übersicht
über alle Verschachtelungsregeln für die Elemente dieser Vorlesung steht
hier:
HTML-Verschachtelungsstruktur,
alle Elemente mit ihren
erlaubten Kindern und Elternelementen sind hier zu finden: Alle HTML-Elemente
inklusive Verschachtelung.
Fehlerhafte, also nicht wohlgeformte oder nicht valide Dokumente können zu
Darstellungsproblemen in Browsern führen. Es kann auch sein, dass ein
fehlerhaftes Dokument
in einem Browser zwar korrekt dargestellt wird, aber in allen anderen
Browsern
nicht.