XML-Know How

Semantik in HTML: Die Klassen

Bei allen Elementen, die wir bislang in HTML kennengelernt haben, fällt auf: sie beschreiben stets nur die formale Struktur einer Website, nicht jedoch die Semantik. Und in der Tat gibt es keine Elemente, die die Vielfalt an Strukturen wiedergeben, wie wir sie in XML abbilden können. Diese vordergründige Schwäche ist gleichzeitig die größte Stärke von HTML: Nur durch die Begrenzung des Vokabulars auf Basis-Elemente war es möglich, einen Standard zu schaffen, der weltweite Gültigkeit hat.

Diese Basis-Elemente reichen aber nicht aus, um komplexe Sachverhalte abzubilden und auch typographisch zu unterscheiden. In unserem Beispiel sind sowohl die Sprecher (»Der Herr«, »Mephistopheles«) als auch der Sprechertext (»Kennst Du den Faust?«) als Absätze (<p></p>) ausgezeichnet. Eigene Elemente für »sprecher« oder »sprechertext« gibt es in HTML nicht. Um diese Texte dennoch zu unterscheiden, gibt es die Möglichkeit, die HTML-Elemente mit sogenannten Klassen anzureichern. Eine Klasse entspricht grob einer Absatz- oder Zeichenformatvorlage, wie man das aus den gängigen Layout- und Textverarbeitungsprogrammen kennt. Durch eine semantische Benennung dieser Klassen kann der Anwender eine HTML-Datei quasi semantisch strukturieren:

Beispiel:

<!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/ xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

</head>

<body>

<h1>Prolog im Himmel.</h1>

<p class="regie">Der Herr. Die himmlischen Heerscharen. Nachher Mephistopheles.<br/>

Die drei Erzengel treten vor.</p>

<p class="sprecher">DER HERR:</p>

<p class="sprechertext">Kennst du den Faust?</p>

<p class="sprecher">MEPHISTOPHELES:</p>

<p class="sprechertext">Den Doktor?</p>

<p class="sprecher">DER HERR:</p>

<p class="sprechertext">Meinen Knecht!</p>

<p class="sprecher">MEPHISTOPHELES:</p>

<p class="sprechertext">Fürwahr! er dient Euch auf besondre (…)</p>

</body>

</html>

Die Namen der Klassen kann der Anwender freisprachlich vergeben. Entsprechend können für diese Bezeichner in den Browsern natürlich auch keine voreingestellte Typographie hinterlegt sein. Spätestens jetzt also müssen wir uns um die Formatierung von HTML selbst kümmern. Hier kommt die Formatierungssprache CSS ins Spiel, um die es Kapitel 6.2 gehen wird.

Abb. 33 Formatierung von HTML-Seiten über den Einsatz von Klassen