XHTML – das neue HTML? Wo liegen die Unterschiede zwischen XHTML
und HTML? Wieso überhaupt XHTML?
Die wohl letzte HTML-Version, die es geben wird, ist die Version
4.0.1. Damit versucht das W3C, die Entwicklungen von Webseiten völlig
auf die neue Datenformatsprache XML (XML = Erweiterbare Auszeichnungssprache)
mit all den Erweiterungen umzulenken. XML ist universell. Ein Programmierer
kann sich über XML ein "eigenes" HTML erstellen.
Er kann definieren, welche Elemente und Attribute es geben
soll und wie diese im Browser dargestellt werden sollen.
XML stammt wie auch HTML direkt von SGML ab. SGML ist die komplexeste
aller Auszeichnungssprachen. HTML ist nur daraus abgeleitet. XML
spielt schon einen großen Teil von SGML.
Warum XHTML?
XHTML (XHTML = Erweiterbare Hypertext Auszeichnungssprache), der Nachfolger von HTML, basiert direkt auf XML. XHTML ist
also nicht mehr von SGML, sondern direkt von XML abgeleitet
worden.
XHTML ist keine komplett neue Sprache. Vielmehr gibt es noch die Elemente, die es zuvor auch in HTML gegeben hat mit dem Unterschied,
dass man sich bei XHTML jetzt an die komplexen Regeln von
XML halten muss.
XHTML soll eine Zwischenstufe von HTML zu XML sein. Damit versucht
das W3C, den Übergang auf XML so leicht wie möglich zu
machen. Durch XHTML werden einem die strengen XML-Syntaxregeln näher
gebracht, da ein XHTML-Dokument nur gültig ist, wenn man diese
Regeln einhält.
Zudem ist ein XHTML-Dokument noch durch XML-Eigenschaften erweiterbar.
Durch den Verweis auf fremde Element-Definitionen, sogenannte
Namespaces, ist es möglich, XML direkt in XHTML zu verwenden.
Weitere Informationen zum Thema XHTML finden Sie bei HTML-World!
Wie sieht ein XHTML-Dokument aus?
Ein typisches XHTML-Dokument könnte wie folgt aussehen:
<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>XHTML</title>
</head>
<body>
<p>Dieses Dokument ist ein XHTML Dokument.</p>
</body>
</html>
Wer schon einmal mit XML zu tun hatte, erkennt ähnliche Strukturen.
In der ersten Zeile wird mit dem <?xml version="1.0"
darauf verwiesen, dass es sich bei dem Dokument um eine
?>
Art XML-Dokument handelt. In der zweiten Zeile kommt dann der Verweis
auf die DTD (Dokument Type Definition).
In ihr werden die einzelnen verwendeten Elemente definiert. Ein
Element, das hier nicht definiert ist, darf nicht verwendet werden.
Es gibt drei Typen von XHTML DTDs:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd">
Der Verweis auf die XHTML – Strict DTD: Das XHTML-Dokument darf
keine CSS und keine Frames verwenden.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
Der Verweis auf die XHTML – Transitional DTD: Bei ihr dürfen CSS,
jedoch keine Frames verwendet werden.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"DTD/xhtml1-frameset.dtd">
Mit dieser DTD dürfen Frames verwendet werden.
Nun aber zurück zu unserem XHTML-Dokument. Auffällig ist
vor allem das <html> Wurzelelement.
<html xmlns="http://www.w3.org/1999/xhtml">
Durch das Attribut xmlns="" wird auf einen Namespace
verwiesen.
Dieser muss beim Wurzelelement (also <html>) gesetzt werden
und auf die Adresse http://www.w3.org/1999/xhtml verweisen.
Hiermit erkennt der Browser das Wurzelelement.
Was man wissen muss…
In XHTML werden wie auch in XML, CSS und JavaScript, Tags oder Befehle die Zeichenkombinationen wie <, &, ]]>
oder — enthalten nicht oder nicht korrekt interpretiert.
Diese Codes oder Anweisungen können zum einen in externen JavaScript-
oder CSS-Dateien ausgelagert werden, zum anderen besteht
die Möglichkeit diese Elemente zu "verstecken".
<script type="text/javascript"><![CDATA[
document.write ("Hallo");
]]></script>.
Wie Sie hier sehen, wird der wirkliche Code zwischen <![CDATA[
versteckt. Sie können innerhalb dieses Bereiches die
angesprochenen Zeichen verwenden, sie werden nicht interpretiert.
Es ist nicht möglich, mehrere CDATA-Bereiche ineinander zu
verschachteln.
Gängige Browser mit XHTML Unterstüzung haben jedoch noch
Probleme mit den CDATA-Bereichen. Deshalb empfiehlt sich die Auslagerung
der Skripte oder Stylesheets.
Sonderzeichen sind in XHTML, wie auch in XML, ein Problem. In XML
gelten die Sonderzeichen als HTML-Entities. So kennen Sie bestimmt
den Entity ä
. Dieser darf in XHTML Dokumenten
nicht mehr verwendet werden. Stattdessen müssen die Unicode-Werte
der Zeichen verwendet werden. Weiter unten finden Sie einen Link
zu einem Unicode ABC.
XHTML ist erweiterbar…
Ganz im Sinne von XML ist XHTML eine erweiterbare Markupsprache.
In der Document Type Definition (DTD) befinden sich die Definitionen
jedes verwendbaren Elements und Attributs.
Jeder Programmierer oder XHTML-Anwender kann eigene Elementdefinitionen
schreiben und in XHTML einsetzten. Man kann sich XHTML also selbst
gestalten. Dies ist der erste Schritt zu einem Internet aus XML…