Was unterscheidet XHTML
von HTML?
Grundsätzlich: XHTML nimmt es "genauer" mit der Syntax,
d.h. die "Wohlgeformtheit" eines XHTML-Dokuments erzwingt fehlerfreien
Code.
1) Zwingende Angabe von Dokumententyp und
Namensraum
<!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" xml:lang="de"
lang="de">
Wird die doctype-Angabe nicht eingetragen, schalten aktuelle Browser in
einen anderen Darstellungsmodus (Quirks-Mode), der die
Befehlsauswertung und -darstellung von Browsern aus den 90er Jahren emuliert
und damit häufig zu massiven Darstellungsfehlern
führt (besonders bei Einsatz von CSS).
mehr dazu
2) Alle Tags müssen klein geschrieben werden.
Während bei HTML Befehle mal <klein>
und mal <GROSS> geschrieben werden konnten,
ebenso die Attribute, müssen in XHTML alle Tags in Kleinbuchstaben
geschrieben werden.
Richtig: <p> </p>
| Falsch: <P> </P>
3) Befehle müssen immer geschlossen werden.
In HTML wurde toleriert, wenn z.B. ein Absatzbefehl nicht geschlossen
wurde. Bei Öffnen des nachfolgenden Absatzes ging der tolerante Browser
davon aus, dass der vorhergehende geschlossen werden soll. Diese "kompakte"
Schreibweise wurde leider auch in diversen Publikationen empfohlen, um
das Kilobytevolumen des HTML-Dokuments zu reduzieren, obwohl dies seit
Definition der HTML-Sprache als fehlerhafter Stil klargestellt wurde.
Richtig: <p>...</p><p>
...</p> |
Falsch: <P>...<P>...
4) Alleinstehende Befehle müssen auch geschlossen werden.
Scheint nicht möglich wird aber wie folgt formal gelöst:
Tags wie <hr>, <br> oder <img> erhalten einen "/"-Slash
innerhalb der Klammer. Um diese Schreibweise zu älteren Browsern
kompatibel zu halten, sollte dem "/" ein Leerzeichen voran gestellt
werden.
Richtig: <br />,
<hr />,
<img />, <frame
/>, <input />
Falsch:
<br>, <hr>, <img>, <frame>, <input>
5) Alle Attributswerte stehen immer in Anführungszeichen.
Richtig: <p align="right"></p>
| Falsch: <p align=right></p>
6) Allein stehende Attribute erhalten sich selbst als Wert
Beispiele:
compact="compact"
checked="checked"
noresize="noresize"
selected="selected"
noshade="noshade"
7) Skripte müssen maskiert werden
Bei Einsatz von Skripten (z.B. Javascript) erwartet XHTML eine
besondere Kennzeichnung als charakter data (da in Skriptsprachen Sonderzeichen
verwendet werden, die in Interpretationskonflikt mit XHTML stehen):
<script type ="text/javjascript">
<!--
// <! [CDATA[
...
// ]]>
-->
</script>
Es ist zu empfehlen, Skripte aus XHTML-Dokumenten in eine
eigene Datei (ähnlich CSS) auszulagern.
8) Das Attribut name (z.B.
bei <a> oder <frame>)
wird ersetzt durch das Attribut id (zur
besseren Kompatibilität sollten vorerst beide Attribute parallel
verwendet werden).
|