JavaScript-Kommentar: jetzt folgt ein kleines Script */
if (parseInt(navigator.appVersion) < 5)
alert("Oh, ein sehr alter Browser");
/* und damit ist das Script auch schon zu ende */
Entsprechendes Beispiel für XHTML:
Der CDATA-Abschnitt beginnt mit
und endet mit
]]>
. Ohne diese Umklammerung würde ein XML-Parser das
<
-Zeichen innerhalb des Scripts als Fehler ankreiden. Damit der Browser die Anfang- und Endmarkierung des CDATA-Abschnitts nicht als JavaScript-Code zu interpretieren versucht, werden sie durch JavaScript-Kommentare vor ihm versteckt. Den Inhalt von
style
-Elementen können Sie ebenso umschließen und analog die Markierungen mit CSS-Kommentaren vor dem CSS-Parser verbergen.
Um Fehler bei JavaScript-Interpretern zu vermeiden, bleibt außerdem die Möglichkeit, JavaScript in separaten Dateien zu notieren. Auch bei Stylesheets besteht die Möglichkeit, Formate zentral in einer separaten CSS-Datei zu definieren.
11.1.15 Unterschied: Ausnahmen von Verschachtelungsregeln
In der Dokumenttyp-Definition von HTML 4.01 sind einige Ausnahmen bei Verschachtelungsregeln für Elemente definiert. Dies ist beispielsweise bei dem
a
-Element nötig, daskein anderes
a
-Element enthalten darf. Die DTD kann zwar festlegen, dass ein
a
-Element nicht direkt ein
a
-Element enthalten darf, sodass
…
nicht erlaubt ist. Ein
a
-Element darf jedoch andere Elemente enthalten, die ihrerseits ein
a
-Element enthalten dürfen, z. B.
span
. In diesem Fall greifen die normalen Regeln nicht und es ist eine Ausnahmeregel nötig, um z. B.
…
zu verbieten.
Mit Hilfe von SGML ist die Formulierung solcher Ausnahmen möglich. So ist beispielsweise festgelegt, dass ein
a
-Element auch als indirektes Kindelement kein anderes
a
-Element enthalten darf. XML dagegen bietet keine Möglichkeit, solche Ausnahmen zu formulieren. In den XML-basierten Dokumenttyp-Definitionen von XHTML fehlen solche Verschachtelungsverbote daher. Somit ist z. B.
…
gemäß den Regeln der DTDs von XHTML zunächst erlaubt. Um eine möglichst hundertprozentige Kompatibilität zwischen HTML und XHTML zu erreichen, blieb dem W3-Konsortium nur der Ausweg, solche Verschachtelungsverbote verbal als »normativen Anhang« zu den DTDs zu erklären.
In HTML5 ist das allerdings auch nicht anders. Da HTML5 nicht mehr DTD-basiert ist, liegen Ausnahmeregeln bei Elementverschachtelungen dort ebenfalls nicht maschinenlesbar vor.
11.2 Backgrounds: XML-Grundlagen
XHTML ist aus HTML5-Sicht nur dann sinnvoll, wenn die Dokumente auch tatsächlich von einem XML-Parser verarbeitet werden und damit die Vorteile der XML-Welt nutzen können. Ein paar Grundlagen und die Vorteile der XML-Welt sollen in diesem Hintergrundabschnitt behandelt werden.
11.2.1 Semantische Auszeichnung beliebiger Daten
XML ist für viele Anwender deshalb etwas schwer greifbar, weil es eigentlich nicht viel tut. Seine Leistung besteht darin, dass man mit den Konzepten und Regeln, die es bereitstellt, eigene Auszeichnungssprachen definieren kann, die ähnlich funktionieren wie HTML. All diese Sprachen bestehen immer wieder aus Elementen, markiert durch Tags, deren Verschachtelungsregeln und aus Attributen mit erlaubten Wertzuweisungen.
Zwei einfache Beispiele für Auszeichnungssprachen
startfarbe="#0000FF" endfarbe="#FFFFFF">
Ein kleiner Text
typ="shell" stand="02-10-2001">
ablage="/usr/scripts/tl410/tl410.pl">
versorgt den Speicherbaustein mit sinnvollen
Anfangswerten aus Testreihe T3.
Erläuterung
Es wurden absichtlich zwei Beispiele gewählt, um zu verdeutlichen, wie beliebig sich das Auszeichnungssprachenkonzept einsetzen lässt. Im ersten Beispiel geht es um die Definition eines vektorgrafischen Elements. Im zweiten Beispiel ist