Unmittelbar hinter dem Anfangsfragezeichen muss xml (kleingeschrieben) stehen. Dahinter können verschiedene Angaben in Form von Attributen folgen. Das version -Attribut ist obligatorisch und deshalb auch in der einfachen Variante erforderlich. Die Versionsnummer bezieht sich auf die Version der Sprachspezifikation von XML. Verwenden Sie die Angabe 1.0, wenn Sie keine besonderen Gründe dafür haben, die ebenfalls mögliche Angabe 1.1 zu wählen. Beim Attribut encoding können Sie die Zeichenkodierung angeben, nach der das XHTML-Dokument zu verarbeiten ist. Die Angabe utf-8 ist empfehlenswert. Details zum Thema Zeichenkodierung können Sie in Abschnitt 2.2 Zeichenkodierung in HTML erfahren . 11.1.4 Unterschied: Dokumenttyp-Deklaration XHTML 1.0 und HTML 4.0(1) haben unterschiedliche Dokumenttyp-Deklarationen. Die Dokumenttyp-Deklaration (der Doctype ) nimmt Bezug auf die DTD (Dokumenttyp-Definition) und die Sprachversion, die Sie im Dokument verwenden und an deren Regeln Sie sich halten. Mit XHTML5 ändert sich die Lage insofern, als XHTML5 gar keine Dokumenttyp-Deklaration mehr fordert – aus dem einfachen Grund, dass für XHTML5 gar keine DTD existiert. XHTML5 ist lediglich eine XML-gerechte Variante von HTML5. Und HTML5 basiert nicht mehr auf Markup-Dokumenttyp-Deklarationen, sondern auf DOM-Datenstrukturen. Nachfolgendes Beispiel zeigt den Beginn eines typischen XHTML1.0-Dokuments:
11.1.5 Unterschied: HTML-Wurzelelement mit Namensraumangabe Das einleitende
-Tag hat in HTML meistens keine Attribute. In XHTML müssen Sie jedoch den Namensraum für XHTML explizit angeben.
Notieren Sie in XHTML im einleitenden
-Tag immer das Attribut xmlns , das einen XML-Namensraum bezeichnet, und weisen Sie ihm den Wert http://www.w3.org/1999/xhtml zu. Das Attribut xmlns gehört übrigens nicht zum Sprachumfang von HTML, sondern ist ein allgemeines XML-Attribut. 11.1.6 Unterschied: Kleinschreibung In HTML ist es gleichgültig, ob Sie
,
oder
notieren. HTML unterscheidet bei Namen von HTML-Elementen und Attributnamen nicht zwischen Groß- und Kleinschreibung. Nur bei der Wertzuweisung an manche Attribute wird Groß-/Kleinschreibung unterschieden – aber auch nur im Hinblick auf andere Sprachen. Bei Attributen mit festen erlaubten Werten, wie etwa shape bei Image-Maps, ist es egal, ob Sie RECT oder rect alsWert zuweisen. Nicht so bei XHTML. XML unterscheidet nämlich strikt zwischen Groß- und Kleinschreibung. Das bedeutet,
ist etwas anderes als
. Für XHTML wurde festgelegt, dass alle Elementnamen und Attributnamen klein geschrieben werden. Das Gleiche gilt auch für die festen Wertzuweisungen wie rect . 11.1.7 Unterschied: Leere Elemente In HTML gibt es diverse leere Elemente. Das Abschluss-Tag ist deshalb verboten, weil die Elemente als inhaltsleer definiert sind. Beispiele: ,
, , . In XML-basierten Sprachen, also auch in XHTML, müssen solche leeren Elemente gesondert gekennzeichnet werden. Was in HTML so aussieht:
Text mit
Zeilenumbruch
… wird in XHTML typischerweise so notiert:
Text mit
Zeilenumbruch
Notieren Sie unmittelbar vor der schließenden spitzen Klammer des alleinstehenden Tags einen Schrägstrich, sodass am Ende die Zeichenfolge /> steht. Vor dem Schrägstrich sollte ein Leerzeichen stehen, um die Funktionalität in alten Browsern zu gewährleisten. Alternativ dazu können Sie auch ein Element mit Anfangs- und End-Tag notieren, z. B.
. Dabei darf jedoch nichts, auch kein Leerzeichen und kein Zeilenumbruch, zwischen dem Anfangs- und dem End-Tag stehen, andernfalls entsteht ungültiges XHTML. 11.1.8 Unterschied: Elemente mit optionalem Abschluss-Tag In HTML dürfen einige Elemente, historisch bedingt, trotz Elementinhalt ohne Abschluss-Tag notiert