Hypertext Markup Language
Die Hypertext Markup Language (HTML) ist ein Dokumentenformat zur Auszeichnung von Hypertext im World Wide Web und wurde 1989 von Tim Berners-Lee am CERN in Genf festgelegt. Sie basiert dabei auf der Metasprache SGML, die zur Definition von Auszeichnungssprachen verwendet wird. HTML ist also eine Auszeichnungssprache zur Beschreibung von Informationen in Hypertexten. HTML wird vom World Wide Web Consortium (W3C) weiterentwickelt.
Mittlerweile wurde die letzte Version des HTML-Standards (HTML 4.01) in der Metasprache XML neu formuliert. Das daraus entstandene XHTML 1.0 genügt den im Vergleich zu SGML strengeren syntaktischen Regeln von XML, ist aber in seinen drei DTD-Varianten (Strict, Transitional und Frameset, siehe unten) semantisch mit der jeweils entsprechenden DTD-Variante von HTML 4.01 identisch. Aktuell liegt der XHTML-Standard in der Version 1.1 vor, der eine zusätzliche Modularisierung der Elemente einführt.
DTD-Varianten
Beim Entwurf der letzten HTML-Version 4 sollte der Tatsache, dass in viele HTML-Dokumenten noch Elemente und Attribute zur Präsentation eingesetzt werden, Rechnung getragen, aber auch eine stilistisch saubere DTD angeboten werden. Das Ergebnis waren schließlich drei Varianten:
Strict
Diese DTD-Variante umfasst den Kernbestand an Elementen und Attributen. Es fehlen die meisten Elemente und Attribute zur Beeinflussung der Präsentation, unter anderem die Elemente font
, center
und u
sowie die Attribute bgcolor
, width
, height
und target
. Deren Rolle sollen in Strict-Dokument Stylesheets übernehmen. Text und nicht-blockbildende Elemente innerhalb der Elemente body
, form
, blockquote
und noscript
müssen sich grundsätzlich innerhalb eines Container-Elements befinden, zum Beispiel in einem p
-Element.
Transitional
Die Variante, die noch ältere Elemente und Attribute enthält, die auch physische Textauszeichnung ermöglichen. Durch diese DTD soll auch Webautoren, die noch nicht logische Strukturierung und Präsentation voneinander trennen, die Möglichkeit gegeben werden, standardkonformes HTML zu schreiben. Gleichzeitig soll sie sicherstellen, dass bestehende nicht standardkonforme Webseiten weitherhin durch aktuelle Webbrowser angezeigt werden können.
Frameset
Diese Variante enthält zusätzlich zu allen Elementen der Transitional-Variante noch die Elemente für die Erzeugung von Framesets.
Falsche Interpretation von Webdokumenten
Einige stark verbreitete Browser folgen bei der Auswertung von HTML-Codes nicht ganz dem Standard, was für Webautoren Mehrarbeit bedeutet. Hierbei ist zwar zu beachten, dass eine Anpassung von HTML-Dokumenten an die Gegebenheiten auf der Leserseite durchaus von Vorteil und auch gewollt ist, aber häufig kommt es auch zu wirklichen Fehlinterpretationen. Durch die wohlüberlegte Verwendung von strukturierendem und logischem HTML kann gewährleistet werden, dass ein Webdokument unter allen Umständen zumindest grundlegend zugänglich und nutzbar ist.
Heutzutage ist die Unterstützung der CSS ausreichend gut, um damit eine anspruchsvolle Gestaltung zu realisieren. Der am weitesten verbreitete Webbrowser, der Internet Explorer, ist gutmütig und lässt so manchen Fehler durchgehen, hat jedoch in CSS-Belangen einige Defizite, welchen Rechnung zu tragen ist. Die Neuentwicklungen auf Basis der Gecko-Engine (Mozilla, Mozilla Firefox, Netscape Navigator, ...), der KHTML-Engine (Safari, Konqueror) sowie aus dem Hause Opera haben hier am wenigsten Probleme, tolerieren Codefehler jedoch weniger.
Sprachtyp
HTML ist keine Seitenbeschreibungssprache wie etwa Postscript, da keine Seiten beschrieben werden, sondern Text strukturell und logisch ausgezeichnet wird. HTML ist eine Auszeichnungssprache und wird als solche auch nicht programmiert – HTML wird schlicht geschrieben.
Ein ähnliches Konzept (logische Beschreibung) wie hinter HTML steht hinter dem Satzsystem TeX/LaTeX, das im Unterschied zu HTML jedoch auf die Ausgabe per Drucker auf Papier zielt.
Weiterentwicklungen
Im Laufe der Jahre ist HTML um Elemente erweitert worden, die sich (fast nur) mit der Gestaltung des Dokuments befassen, was der ursprünglichen Idee der Systemunabhängigkeit entgegen lief.
Dazu gehören die Möglichkeiten, Seiten dynamisch zu verändern, z. B. mittels JavaScript. Man spricht dann von DHTML (Dynamic HTML). Da diese Möglichkeiten von den Browser-Herstellern (allen voran Microsoft und Netscape) entwickelt wurden, gab es erhebliche Probleme mit der Interpretation der Elemente zwischen den verschiedenen Browsern. Mittlerweile interpretieren aber alle verbreiteten Browser (IE, Mozilla/Netscape, Opera, Konqueror/Safari) das W3C-DOM, weswegen es heutzutage problemlos möglich ist, in allen Browsern lauffähige Skripte zu schreiben. Ausnahmen bilden lediglich Textbrowser wie z. B. Lynx sowie Nischenprodukte wie Arachne. Es gibt jedoch noch immer Differenzen bei der Unterstützung der Standards wie CSS oder DOM und daher ist es nach wie vor sinnvoll, Webseiten trotz formeller Fehlerfreiheit mit Browsern verschiedener Anbieter zu testen.
Eine Rückbesinnung auf die Trennung von Inhalt (Struktur) und Layout wurde durch die Definition der Cascading Style Sheets (CSS) vorgenommen. So soll das Aussehen des Dokuments in einer separaten Datei (dem sog. Style Sheet) festgelegt werden. Dies ermöglicht es viel besser das Layout an das Ausgabegerät (oder spezielle Bedürfnisse, z.B. von Sehbehinderten) anzupassen. Diese Vorgabe wird allerdings nicht konsequent umgesetzt.
Als zukünftiges universelles Format wird zunehmend XML (eXtensible Markup Language), ein selbstbeschreibendes Datenmodell eingesetzt. Dieses arbeitet ebenfalls mit Tags, die jedoch per DTD (Document Type Definition) sehr restriktiv eingesetzt werden können. Zur Umwandlung von in XML gehaltenen Daten in die entsprechenden „Anzeigeformate“ kann XSL verwendet werden, eine Style-Sheet-Sprache zur Transformation z.B. nach XHTML.
HTML lernen
SELFHTML ist ein deutschsprachiges und sehr umfangreiches Projekt, das für viele Themen rund um HTML Referenzmaterial bietet.
Die Lektüre einer modernen linearen Einführung (siehe Weblinks) und die Handarbeit direkt in einem Texteditor ist empfehlenswert, um HTML richtig zu verstehen und voll auszunutzen.
Für schnelle Arbeiten mag die Arbeit in einem grafischen (so genannten) WYSIWYG-Editor zunächst genügen, allerdings produzieren diese Editoren häufig einen HTML-Code, der die optischen Vorstellungen widerspiegelt. Strukturelle und logische Informationen, die dem Text erst einen echten Mehrwert geben, lassen sich nur einsetzen, wenn man HTML hinreichend gut verstanden hat. Hinzu kommt, dass diese Editoren gelegentlich ungültiges HTML produzieren, was die Darstellung des Dokuments von der Fehlertoleranz des Webbrowsers abhängig macht. Professionelle Webgestalter verwenden visuelle HTML-Editoren daher häufig nur, um das Grundgerüst von Webseiten zu erstellen und optimieren den Code danach manuell.
Siehe auch
Literatur
- Stefan Mintert (Hrsg.): XHTML, CSS & Co. Die W3C-Spezifikationen für das Web-Publishing. Addison-Wesley, München, ISBN 3827318726
Weblinks
- Einige Notizen zum Ursprung von HTML (englisch)
- Webpräsenz des Standardisierungsgremiums W3C (englisch)
- HTML-Standards: 2.0, 3.2, 4.0, 4.01
- edition W3C.de Die W3C-Spezifikationen in deutscher Übersetzung und Kommentierung
- SELFHTML Ausführliches Tutorial und Dokumentation
- PlanetHTML.de Anfängerfreundiche HTML- und Webdesign-Tutorials (deutsch)
- HTMLWiki Ein Wiki über HTML und Webauthoring (deutsch)
- Checkliste für Webstandards
- W3C-Validator zur Überprüfung auf syntaktische Richtigkeit eines HTML-Dokuments (englisch)
- Newsgroup de.comm.infosystems.www.authoring.misc