Kostenlos Online Lesen
HTML5-Handbuch - die neuen Features von HTML5
Titel:
HTML5-Handbuch - die neuen Features von HTML5 Kostenlos Bücher Online Lesen
Autoren:
Franzis
Vom Netzwerk:
werden, auch wenn das aus heutiger Sicht keineswegs mehr empfehlenswert ist. Beispiele solcher Elemente sind
,
,
,
,
oder
. In XHTML sind Abschluss-Tags bei Elementen mit Inhalt dagegen immer Vorschrift.
HTML darf (leider) auch so aussehen:
1. Eintrag
2. Eintrag
In XHTML muss ein solches Konstrukt immer so aussehen:
1. Eintrag
2. Eintrag
11.1.9 Unterschied: Attributwerte in Anführungszeichen
In HTML dürfen Sie Attributen Werte zuweisen, ohne diese mit Hochkommata zu umschließen – auch wenn das nicht empfehlenswert ist. In XHTML sind die Hochkommata jedoch zwingend erforderlich.
In HTML ist es erlaubt, zu notieren:
Anker
XHTML dagegen schreibt vor:
Anker
11.1.10 Unterschied: Alleinstehende (leere) Attribute
In HTML gibt es einige Attribute, die keine Wertzuweisung erhalten, wie beispielsweise
checked
,
readonly
,
disabled
,
multiple
oder
defer
.
In XML-basierten Sprachen dagegen muss allen Attributen ein Wert zugewiesen werden. Da alleinstehende Attribute nur einen möglichen Wert annehmen können, hat man sich darauf verständigt, als Wert einfach den Attributnamen zu nehmen. Notieren Sie in XHTML also:
checked="checked"
readonly="readonly"
disabled="disabled"
multiple="multipe"
defer="defer"
11.1.11 Unterschied: Leerraum in Attribut-Wertzuweisungen
Bei Wertzuweisungen an Attribute müssen Sie in XHTML besser aufpassen als in HTML. Leerzeichen sind dort erlaubt, wo sie erforderlich sind, doch Zeilenumbrüche sollten Sie vermeiden.
Empfohlenes XHTML 1.0 ist:
Text Text Text
Problematisch ist dagegen:
Text Text Text
11.1.12 Unterschied: Verweise zu Ankern
In HTML können Sie Verweise zu Ankern notieren, die mit einem
name
-Attribut definiert sind, z. B.:
Verweis
Wobei der Zielanker mit
irgendwas
ausgezeichnet ist. Auch andere Attribute verwenden diese Technik in HTML, wie etwa das
usemap
-Attribut beim
img
-Element zum Verweis auf ein
map
-Element, bei dem ein entsprechendes
name
-Attribut notiert ist.
In XML-verarbeiteten XHTML funktionieren solche Verweise nicht. XML benötigt zwingend das globale Attribut
id
für Anker. Allerdings ist es seit Version 4.0 auch in HTML so, dass Elemente mit
id
-Attribut Anker darstellen, z. B.:
Überschrift
Insofern ist es aus heutiger Sicht sinnvoll, Verweiszielanker innerhalb von Dokumenten vorzugsweise mit dem
id
-Attribut auszuzeichnen.
11.1.13 Unterschied: Das lang-Attribut
XML-basierte Sprachen benutzen normalerweise anstelle von
lang
das XML-Universalattribut
xml:lang
. Da das
lang
-Attribut in XHTML jedoch ebenfalls zur Verfügung steht, existieren also zwei Attribute für die gleiche Sache. XHTML-Parser bevorzugen im Zweifelsfall das Attribut
xml:lang
, das aber von reinen HTML-Parsern nicht erkannt wird. Notieren Sie deshalb in XHTML am besten beide Varianten, wenn Sie
lang
verwenden.
In HTML genügt also:
…
In XHTML ist es sinnvoll, zu notieren:
…
11.1.14 Unterschied: Inhalt von Script- und Style-Bereichen
In HTML wird der Inhalt der Elemente
script
und
style
vom HTML-Parser nicht beachtet, während ein XML-Parser in XHTML die Inhalte dieser Elemente, wie alle anderen Elementinhalte interpretiert. Im Klartext bedeutet dies, dass bei HTML innerhalb eines Script-Bereichs oder Style-Bereichs HTML-eigene Zeichen wie
<
,
>
,
&
und
"
nicht maskiert werden müssen. Nicht so in XHTML. Wenn Sie beispielsweise in einem JavaScript innerhalb einer Bedingung vergleichen, ob ein Wert kleiner oder größer als ein anderer Wert ist, müssen Sie die spitzen Klammern außerhalb einer Zeichenkette notieren und können sie daher an der Stelle auch nicht maskieren. Um das Problem zu lösen, können Sie das Script in einen sogenannten CDATA-Abschnitt anschließen. Dies ist eine XML-typische Notation.
Da XML-Parser HTML-Kommentare (und damit auch den enthaltenen JavaScript-Code) entfernen dürfen, sollte auf die früher übliche Auskommentierung des Scripts verzichtet werden, die für die heute verwendeten Browser auch nicht mehr erforderlich ist.
Beispiel für HTML: