Informationssystem Johanneum Lüneburg Alphabetischer Index zum Ende der Seite
Informationssystem
Fächer Informatik

xHTML

In der Informatik ist es längst üblich, daß sich alles sehr schnell ändert. So ist auch HTML nicht mehr ganz neu und prompt gibt es einen Nachfolger, die Sprache XML (Extendable Markup-Language). Da XML-Dokumente eine etwas andere Syntax haben als klassisches HTML ist es erforderlich, daß sich auch HTML, welches bis auf weiteres bestehen bleibt, ändert und an die neue Syntax anpasst. Diese neue Sprache mit altem Inhalt, aber neuer Syntax nennt sich xHTML.
Diese veränderte Syntax ist strenger als das bisher übliche. Hier die Änderungen im Detail:

ThemaHTMLxHTMLErklärung
Dateikopf <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
<html>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/strict.dtd">
<html xmlns="http://www.w3.org/TR/xhtml1">
Die Doctype-Angabe am Beginn der Datei ist jetzt Pflicht.
Schreibweise <TABLE WIDTH=10>
<TR><TD>Text</TD></TR>
</TABLE>
<table width="10">
<tr><td>Text</td></tr>
</table>
alle Tags und Attribute müßen klein geschrieben werden
alle Werte von Attributen sind in doppelte Anführungszeichen (") zu setzen
Solo-Tags <br> <br /> alle Solo-Tags müssen mit einem Slash (/) beendet werden
Formatierung <font size=4>Text</font> <span style="font-size:medium;">Text</span> Formatierungen dürfen ausschließlich über Stylesheets (CSS, XSL) verfaßt werden, daher werden einige Tags aus HTML entfernt.
Abschluß-Tags <p>Text
<p>Text
<p>Text</p>
<p>Text</p>
bei allen Tags, bei denen man bisher auf das Abschlußtag verzichten konnte ist dieses jetzt vorgeschrieben
Boolean-Attribute <hr noshade> <hr noshade="noshade" /> Boolean-Attribute sind, sofern man sie nicht völlig vermeiden kann, in einer verlängerten Form zu notieren. Leider verstehen nicht alle Browser die Langform!
Stylesheets & Scripts <script><!--
...
//--></script>
<script><![CDATA[
...
]]>
Es gibt neue Ausklammerungen für Stylesheets und Scripts, bei denen die folgenden Zeichen auftauchen: &, < oder >.Es wird aber vom W3C dringend empfohlen, derartige Stylesheets bezeihungsweise Scripts in externe Dateien auszulagern.

In derzeitigen Browsern funktioniert zwar noch die alte Syntax (Ausnahme: Abschlußtags), aber zukünftige Browser werden mit Sicherheit fehlerhafte Seiten mit entsprechenden Meldungen kommentieren, denn statt wie bisher falsche Tags einfach zu überlesen, werden zukünftige Browser bei ungültigem Code Fehlermeldungen ausgeben (ähnlich den allseits bekannten JavaScript-Errors).
Um diese Änderungen zu verstehen sind einige Informationen zu der vom W3C geplanten Zukunft von HTML bzw. xHTML nötig:

Da HTML an vielen Stellen an Grenzen stößt, die es unmöglich machen bestimmte Aufgaben ohne die Verwendung externer Techniken zu erfüllen (zum Beispiel Datenbanken), hat man beim W3C eine Sprache entwickelt, in der modulare Ergänzungen zu HTML geschreiben werden können. Diese Sprache heißt XML. Um keinen "Wildwuchs" an DocType-Definitions, wie diese Module heißen, auszulösen hat das W3C bereits einige eigene DocType-Definition herausgegeben und arbeitet an weiteren. Diese Module sollen in Internet-Design spezielle Aufgaben erfüllen, für die im bisherigen HTML nur sehr wenige Tags zur Verfügung standen. So soll es eine Sprache nur für Tabellen, eine für Mathematische Formeln (MathML), eine für Chemische Formeln (CML), eine für Formulare (FML), eine für Autoreninformationen (RDF)... geben. Sogar für Hyperlinks soll es eine eigene Sprache geben (XLink)! Auch kann jeder der dazu Lust hat eine eigene Sprache für seine Dokumente verwenden, wenn er sich die Mühe macht eine DocType-Definition zu schreiben. Im gleichen Zuge wird HTML, daß jetzt xHTML heißt, so angepaßt, daß dise Module eingebunden werden können. Außerdem muß die Syntax von HTML so verändert werden, daß sie zu XML-Dokumenten kompatibel ist. Zu dem ist es nicht mehr vertretbar, wenn es in HTML Befehle gibt, die alleine der grafischen Formatierung eines Teils dienen, wenn es doch gleichzeitig Stylesheets (CSS, XSL) gibt. Daher werden diese Befehle aus HTML nicht in xHTML übernommen.

Die Einbindung der Module erfolgt nach folgender Syntax: <html xmlns:rdf="[URL der DocType-Definition]"> Damit ist die Verwendung von RDF-Tags mit der Syntax <[RDF-Befehl]:rdf> in dem folgenden xHTML-Dokument erlaubt, also zum Beispiel <description:rdf>. Eine andere Möglichkeit, die sich anbietet, wenn die Befehle des Moduls alle in einem Bereich liegen: <rdf xmlns="[URL der DocType-Definition]"><description>...</description></rdf>. Dabei sind in diesen Abschnitt nur RDF-Befehle erlaubt.

Derzeit kann man die Syntax aus xHTML bereits problemlos verwenden - im Gegenteil: auch für klassisches HTML haben viele Änderungen einen Vorteil, so werden Dokumente durch Stylesheets (CSS, XSL) deutlich kürzer und lassen sich leichter einheitlich formatieren; durch die konsequente Kleinschreibung wird die Ladezeit bei Modemverbindungen verkürzt, da sich die Dateien leichter komprimieren lassen. An die Anführungszeichen und den Slash in den Solo-Tags kann man sich relativ schnell gewöhnen, so daß man auch diese durchaus verwenden sollte. Lediglich der monströse Dateikopf stört beim schnellen Arbeiten.

Da Formatierungen im xHTML nur noch via Stylesheets (CSS, XSL) definiert werden dürfen, wurden einige HTML-Tags aus den Standard entfernt und sollten in Zukunft nicht mehr verwendet werden. Außerdem hat man im gleichen Zuge die HTML-Tags entfernt, die mittlerweile durch andere, modernere HTML-Tags ersetzt wurden.

Das gleiche was für ganze HTML-Tags gilt, gilt natürlich auch für einige Attribute von noch weiterhin bestehenden Tags:

An diese veränderte Regelung sollte man sich auch halten, um sich Fehlermeldungen von HTML-Parsern zu ersparen. Alle Befehle lassen sich durch Stylesheets (CSS, XSL) oder durch die Verwendung alternativer HTML-Tags ersetzen.
Für das Konvertieren von bestehenden Dateien enpfiehlt das W3C das Programm TIDY, einen HTML-Editor mit xTML-Syntaxchecker. Leider nimmt einem dieses Programm aber nicht die Arbeit ab die Formatierungen auf Stylesheets (CSS, XSL) umzustellen, aber dies ist wohl auch nur schwer möglich! Leider setzt das Programm an einigen Stellen ziemlich sinnlose Zeilenumbrüche.


MathML

Diese Sprache soll dazu dienen Mathematische Formeln in einen xHTML Dokument ohne die Verwendung von Grafiken darstellen zu können. MathML-Elemente können einerseits Logisch, also durch ihre Mathematische Bedeutung, und andererseits physisch, also durch ihre Darstellung, definiert werden. Hier ein Beispiel:

logische Darstellung:

<msup>
 <mfenced>
  <mrow>
   <mi>a<mi>
   <mo>+<mo>
   <mi>b<mi>
  </mrow>
 </mfenced>
 <mn>2<mn>
<msup>

physische Darstellung:

<apply>
 <power/>
 <apply>
  <plus/>
  <ci>a</ci>
  <ci>b</ci>
 </apply>
 <cm>2</cm>
</apply>

Hier fällt auf, das der anschleißende Slash bei den Solo-Tags direkt auf den Namen folgt, während dort bei xHTML noch ein Leerzeichen ist. Das Leerzeichen bei xHTML ist aus kompatibilitäts-Gründen vorhanden.
So sieht es aus:

a+b 2
ab 2

so soll es aussehen: (a+b)². Leider unterstützt derzeit noch kein Browser MathML. Für Netscape 5 ist dies aber angekündigt.


Links zum Thema

xHTML-Specifikation
http://www.w3.org/TR/xhtml1
XML-Specifikation
http://www.w3.org/TR/REC-xml
HTML 4.0
http://www.w3.org/TR/REC-html40
CSS 2.0
http://www.w3.org/TR/REC-css2
Shylesheets in XML
http://www.w3.org/TR/PR-xml-stylesheet
XML-Namespaces
http://www.w3.org/TR/REC-xml-names
DOM Level 1
http://www.w3.org/TR/REC-dom-level-1
XLink (XML-Links)
http://www.w3.org/TR/WD-xlink
MathML
http://www.w3.org/TR/REC-MathML
Resource Description Framework (RDF) [Syntax]
http://www.w3.org/TR/REC-rdf-syntax
Resource Description Framework (RDF) [Schema]
http://www.w3.org/TR/WD-rdf-schema
TIDY
http://www.w3.org/status.html#TIDY

deutschsprache XML Dokumentation
http://members.aol.com/xmldoku
SelfHTML
http://www.teamone.de/selfaktuell
CSS 2.0 Kurzreferenz
http://www.fh-lueneburg.de/u1/gym03/homepage/faecher/informat/css/css.htm

Anmerkung zum Schluß

Haben Sie etwas vermißt? Haben Sie einen Fehler gefunden? Haben Sie konstruktive Kritik? Ich stehe stets via für Fragen, Hinweise und konstruktive Kritik zur Verfügung. Ich bitte jedoch um Verständnis, wenn ich einmal einige Zeit brauche, um eine Neuerung hier aufzuführen, da sich dieses Thema derzeit sehr schnell entwickelt.

zum Anfang der SeiteAutor: © Kai Lahmann Datum: Mai 1999 Letzte Änderung am 30. Mai 1999 28. Juli 2004
Informationssystem [Fächer] [Informatik] [Webteam] [[Email s.Ueberblick]] [Exposystem] EXPO-System