====== Exkurs: Unterschiede zwischen HTML und XHTML ======
Der Nachfolger von HTML 4.01 ist XHTML 1.0 (eXtensible HTML) - damit änderte sich die Basis von HTML grundlegend, auch wenn die Art und Weise, auf die es verwendet wird, nach wie vor sehr ähnlich ist. Die Basis von HTML ist SGML, die von XHTML ist XML.
===== Dokumenttypen =====
Um dem Browser klarzumachen, dass es sich um ein XHTML-Dokument handelt, müssen bestimmte Dokumenttypen verwendet werden. Man unterteilt XHTML in 3 verschiedene Typen: Strict, Transitional, Frameset - Im Normalfall verwendet man Transitional, Frameset nur, wenn man Frames verwendet. Strict hingegen macht häufig zu strikte Vorschriften und streicht auch sinnvolle Tags und Attribute (z.B. das Öffnen eines Links in einem neuen Fenster).
Die Dokumenttypangabe von XHTML Transitional ist:
===== Namensraumangabe =====
Aufgrund des Umstiegs auf XML muss zusätzlich der XML-Namespace mit der verwendeten Sprache im -Tag angegeben werden.
Das sieht so aus:
===== Kleinschreibung =====
Während es dem Entwickler in HTML 4.01 noch freigestellt war, "müssen" (um ein valides Dokument zu erhalten - funktionieren wird es auch anders) in XHTML sämtliche Tags und Attribute kleingeschrieben werden.
===== End-Tag notwendig =====
XHTML verlangt, dass jeder Tag auch einen End-Tag hat. Während man bei HTML 4.01 in Listen bei den einzelnen Punkten oft nur
...
* Richtig:...
===== Attribute müssen Werte haben ===== Attribute "müssen" in XHTML einen Wert zugewiesen bekommen, die reine Angabe eines Attributs wie bei einer Checkbox das Attribut "checked" ist nicht mehr erlaubt - stattdessen muss checked="checked" verwendet werden. ===== id- statt name-Attribut ===== Während man in HTML das name-Attribute verwendete, um ein Element eindeutig zu identifizieren (z.B. für die Verwendung mit Javascript), wird dieses in XHTML mit dem Attribut id ersetzt. ===== Einbinden von CSS/JS/Sonstigem im -Bereich ===== CSS-Definitionen, JavaScript-Code, etc. müssen in XHTML in besondere "CDATA-Bereiche" gesteckt werden, um sicherzugehen, dass der Browser den Inhalt nicht falsch versteht.
Ja, das ist kompliziert, und die Chance, sich dieses Konstrukt fehlerfrei zu merken ist eher gering. Darum empfiehlt es sich, es zu speichern und bei Bedarf einzufügen.
===== Konvertierung, Validierung =====
* Mithilfe des W3C-Tools "Tidy" kann man HTML-Dokumente in XHTML konvertieren. Es steht zur Verfügung unter [[http://www.w3.org/People/Raggett/tidy]]
* Mit dem XHTML-Validator unter [[http://validator.w3.org]] kann man überprüfen, ob man ein W3-Konformes XHTML-Dokument erstellt hat.