XHTML Syntax-Regeln Wie auch XML muss man bei XHTML sehr auf strenge Regeln achten. In diesem Artikel wird geklärt, welche Regeln dies sind, und auf welche XHTML Elemente diese zutreffen.

XHTML ist der Zwischenschritt von HTML zu XML. Das bedeutet in einer Hinsicht ein Fortschritt für das ganze Internet. Weg von den laschen Regeln, und der falschen Interpretation von HTML Code durch die Browser, soll es mit XHTML in Zukunft nur noch sogenannte "Wohlgeformte" Dokumente geben.
Damit erweisen Sie vielen einen Dienst. Suchmaschinen müssen nicht mehr ellenlangen falschen Code durcharbeiten, Ladezeiten können vermindert werden, und Sie gestalten ihre Webseite um einiges mehr behindertengerecht.
Ein XHTML Dokument muss also Wohlgeformt sein, d.h. Sie müssen sich an die XHTML Syntax-Regeln halten, die auch zum größten Teil auf XML übertragbar sind.

1. Tag-Reihenfolge
Die Tags müssen in XHTML, und auch in XML in einer logischen Anordnung verwendet werden.
Folgendes Beispiel zeigt, was bisher jeder Browser korrekt interpretiert hat.
<p><b>
Text
</p></b>

Eine solche Syntax ist jedoch nicht XML Konform. Die Tags müssen in ihrer hirarchischen Form geöffnet und geschlossen werden.
Richtig wäre folgendes Beispiel:

<p><b>
Text
</b></p>


2. Übergeordnete Tags

In XHTML wird zudem auf übergeordnete Tags Wert gelegt. Es darf folglich kein untergeordneter Tag einen übergeordneten Umschließen.

<b><p>
Text
</p></b>

Diese Anwendung ist falsch, da <p> ein übergeordneter Tag im Vergleich zu <b> ist. Richtig müsste das ganze folglich so aussehen:

<p><b>
Text
</b></p>

3. Zeilenumbrüche und Leerzeichen

Innerhalb von Elementen und Attributen sollten Zeilenumbrüche und (zu viele) Leerzeichen vermieden werden.

<p align="
center">
Zentrierter Text
</p
>

Besser ist es so:
<p align="center">
Zentrierter Text
</p>


4. Anfangs und End-Tags

Alle Elemente müssen einen Anfang und einen End-Tag haben. Jedes Element muss geschlossen werden. Bisher haben die Browser z.B. folgenden Code noch als korrekt dargestellt:

<p>Text
<p>Text


In XHTML ist dies nicht möglich. Damit das Dokument wohlgeformt und gültig ist, müssen die <p> Tags wieder geschlossen werden.
Tags, die kein schließendes Element haben, wie z.B. der img-Tag müssen wie folgt geschlossen werden:

<img src="bild.gif" alt="Alternativ" />

Dies gilt für folgende Tags:
<area />
<base />
<br />
<col />
<frame />
<img />
<input />
<isindex />
<link />
<meta />
<param />

Das Leerzeichen zwischen dem Tag, und der schließenden Klammer wird grundsätzlich nicht benötigt. Damit jedoch auch noch ältere Browser den XHTML Code korrekt verstehen, sollte auf das Leerzeichen nicht verzichtet werden.

5. Groß-, Kleinschreibung

XHTML, wie auch XML unterscheidet zwischen Groß- und Kleinschreibung. Ein Tag <P> ist nicht der gleiche wie <p>. Man kann also auch nicht <p> mit </P> schließen. Grundsätzlich gilt für XHTML alle Attribute und Elemente in Kleinbuchstaben zu schreiben.
Alle Attributwerte müssen in " " stehen. Auf diese konnte man in "normalen" HTML ohne Probleme verzichten.

Die Unterscheidung von Groß-, Kleinschreibung muss ebenfalls auf CSS übertragen werden. Definiert man so z.B. das Style des Tags P, dann wird dieses Style nicht auf den Tag <p> angewendet.
Nach einer Empfehlung des W3C sollten die CSS Styles in einem korrekten Baum geschrieben werden. D.h. zunächst die einzelnen Elemente, am besten in ihrer Reihenfolge im XHTML Dokument, und dann die einzelnen CSS Klassen.
Jede CSS Definition sollte in einer eigenen Zeile stehen.

6. Kurzschreibweise von Attributen

Bisher konnte man bei Tags verschiedene Attribute in vereinfachter Weise angeben. So ist folgendes Beispiel unter XHTML nicht mehr gültig:

<h1 noshade>


Unter XHTML muss dieses Attribut jetzt wie folgt angegben werden:

<h1 noshade="noshade" />


Betroffen sind folgende Attribute:
checked
compact
declare
defer
disabled
ismap
multiple
noresize
noshade
nowrap
readonly
selected

7. Pflichtattribute

Neu Hinzugekommen ist auch, das man einige Tags mit Pflichattributen versehen muss. So ist für den <img /> Tag z.B. das alt-Attribut Pflicht geworden.
<img src="bild.gif" alt="alternativ" />

Für den <table> Tag ist das Attribut summary="" Pflicht. Der Wert dieses Attributes kann aber auch leer bleiben.
<table width="100" height="100" border="0" summary="">
..
</table>

Neu ist ebenfalls, das man bei dem <script> Tag, und bei dem <style> Tag, diese mit dem type="" Attribut versehen muss. Dieser gibt an, welchen Inhaltstyp der jeweilige Code hat.
<script type="text/javascript">
...
</script>

Bei Stylesheets:
<style type="text/css">
...
</style>


8. Das name-Attribut


Sprungmarken:
Sprungmarken müssen in XHTML nun anders definiert werden. Anstatt des name-Attributes, muss das id-Attribut gesetzt werden.
<a id="sprungmarke"></a>
Damit das ganze auch bei älteren Browsern noch funktioniert, kann man sowohl das name-Attribut, als auch das id-Attribut verwenden.
<a id="sprungmarke" name="sprungmarke"></a>
Für neue Versionen von XHTML fällt das name-Attribut jedoch komplett weg. Hiervon sind folgende Tags betroffen:

<a>
<applet>
<form>
<frame>
<iframe>
<img>
<map>

9. Formatierungen
Mit XHTML versucht das W3C auch die Position von CSS um einiges zu stärken. So sollen in Zukunft Attribute, die Elemente formatieren verschwinden. Diese Aufgabe soll von CSS erledigt werden.

10. Nicht-unterstützte Tags

XHTML hat auch einen kleinen Radikalschlag gemacht. So werden in XHTML einige Tags nicht mehr unterstützt (dies sind meist Eigententwicklungen der Browserhersteller).

<basefont>
<center>
<dir>
<font>
<hr>
<listing>
<menu>
<plaintext>
<s>
<strike>
<u>
<xmp>


11. Ungültige Tag-Verschachtlungen

In XHTML darf man in Zukunft gewissen Tags nicht mehr ineinander verschachteln. So dürfen im <pre> Tag folgende Tags nicht mehr verwendet werden:

pre-Tag

<big>
<img>
<object>
<small>
<sub>
<sup>

Ähnliches gilt auch für den HTML 4 - <button> Tag.

button-Tag

<fieldset>
<form>
<iframe>
<input>
<isindex>
<label>
<select>
<textarea>

Zudem dürfen in <a></a> Link-Bereichen keine weiteren <a></a> Bereiche definiert sein (macht ja auch keinen Sinn).

Für die Zukunft gilt - Regeln für ein besseres Internet. Die Quellcodes von vielen Internetseiten werden in Zukunft wohl um einiges sauberer. Und dadurch wird ein guter, und einfacher Übergang zu XML geschaffen.
XHTML ist kein unbedachter "Fehlentwurf" des W3Cs um irgendwelche Webdesigner zu schröpfen, und in ihrer Freiheit einzuschränken, nein XHTML gibt neue Möglichkeiten durch XML.

Bookmark setzen... These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Bloglines
  • MisterWong
  • MySpace
  • Reddit
  • SEOigg
  • Technorati
  • TwitThis
  • Y!GG
  • Google Bookmarks

Weiterführende Links: