| # HTML
| HTML als "lingua franca" des Web HTML als software-unabhängiges Klartextformat HTML als Auszeichnungssprache HTML für Hypertext HTML-Versionen

## HTML als "lingua franca" des Web

Unter einer "lingua franca" versteht man eine "Brot- und Buttersprache", eine Sprache, die jeder kennt, jeder spricht, jeder leicht erlernen kann und jeder braucht. HTML ist eine solche Sprache. Vom Web-Gründer Tim Berners-Lee entwickelt, wurde HTML im Zuge des Web-Booms zum erfolgreichsten und verbreitetsten Dateiformat der Welt. Immer wieder rümpfen Entwickler, die gerne alles, was einfach sein könnte, durch tausend Filter und Übersetzer jagen, um es kompliziert zu machen und ihren technischen Durst zu stillen, über HTML die Nase - eben weil es so einfach ist. Aber erstens ist es bei genauerem Hinsehen gar nicht so einfach - fast kein namhaftes Web-Angebot - egal ob Suchmaschine, Online-Magazin oder Firmenauftritt - ist bis heute in der Lage, fehlerfreies und standardkonformes HTML auf seinen Web-Seiten zu realisieren. Und zweitens reicht HTML für die Mehrzahl der Inhalte, die heute im Web angeboten werden, vollkommen aus. Denn HTML ist eine Sprache zur Strukturierung von Texten, wobei aber auch die Möglichkeit besteht, Grafiken und multimediale Inhalte in Form einer Referenz einzubinden und in den Text zu integrieren.

Mit HTML können Sie Überschriften, Textabsätze, Listen und Tabellen erzeugen. Sie können anklickbare Verweise auf beliebige andere Web-Seiten oder Datenquellen im Internet erzeugen. Nicht-textuelle Inhalte können Sie wie bereits erwähnt referenzieren. Sie können Formulare in den Text integrieren. Und last but not least bietet HTML Schnittstellen für Erweiterungssprachen wie Stylesheets oder JavaScript an, mit deren Hilfe Sie HTML-Elemente nach Wunsch gestalten und formatieren oder Interaktion mit dem Anwender realisieren können.

HTML ist also sehr durchdacht und in ein Gesamtkonzept an weiteren Sprachen eingebunden. Wer behauptet, HTML sei nichts mehr für professionelles Web-Publishing, outet sich meistens nur als feuchtäugiger Technik-Junkie und behauptet letztlich nur, normale Texte seien nichts mehr für professionelles Web-Publishing. Und wer das behauptet, stellt sich selber ins Abseits der gewachsenen schriftlichen Kultur. Solange es Autoren gibt, die Texte schreiben und dazu die üblichen Mittel zur Textstrukturierung benötigen, wird es aus web-technischer Sicht Leute geben, die HTML gut brauchen können.

Als "lingua franca" ist HTML allerdings mit diversen spezielleren Anforderungen schlichtweg überfordert. HTML allein kann weder Grafik-Designer befriedigen, die jeden Pixel am Bildschirm kontrollieren wollen, noch Daten-Designer, die aus der Welt der relationalen Datenbanken kommen und sich anwendungsspezifische Lösungen wünschen. Deshalb gibt es heute Style-Sprachen wie CSS, und es gibt Lösungen wie XML, um anwendungsspezifisches Daten-Design zu ermöglichen.

All das ändert aber nichts daran, dass HTML eine hervorragend geeignete, standardisierte und wegen der weiten Verbreitung der Web-Browser praktisch überall verfügbare Sprache für Text und Hypertext darstellt. Das W3-Konsortium, das für die Standardisierung von HTML zuständig ist, ist zwar bemüht, HTML von allen Sünden der Anfangsjahre zu reinigen und es als einfache, reine Text-Strukturierungssprache zu etablieren. Doch in der Praxis dient HTML heute auch als Basis zum Erstellen von Web-Seiten-Layouts, und daran wird sich wohl auch so schnell nichts ändern.

## HTML als software-unabhängiges Klartextformat

HTML ist ein so genanntes Klartextformat. HTML-Dateien können Sie mit jedem beliebigen Texteditor bearbeiten, der Daten als reine Textdateien abspeichern kann. Es gibt also keine bestimmte Software, die man zum Erstellen von HTML-Dateien benötigt. Zwar gibt es längst mächtige Programme, die auf das Editieren von HTML spezialisiert sind, doch das ändert nichts an der entscheidenden Eigenschaft: HTML ist nicht an irgendein bestimmtes, kommerzielles Software-Produkt gebunden. Diese wichtige, vielleicht sogar wichtigste Eigenschaft von HTML sollten Sie immer im Auge behalten, wenn man Ihnen erzählen will, dass Web Publishing nur mit bestimmten Software-Produkten möglich sei.

Da HTML ein Klartextformat ist, lässt es sich auch hervorragend mit Hilfe von Programmen generieren. Von dieser Möglichkeit machen beispielsweise CGI-Scripts Gebrauch. Wenn Sie im Web zum Beispiel einen Suchdienst benutzen und nach einer Suchanfrage die Ergebnisse präsentiert bekommen, dann ist das, was Sie am Bildschirm sehen, HTML-Code, der von einem Script generiert wurde.

## HTML als Auszeichnungssprache

HTML bedeutet HyperText Markup Language. Es handelt sich dabei um eine Sprache, die mit Hilfe von SGML (Standard Generalized Markup Language) definiert wird. SGML ist als ISO-Norm 8879 festgeschrieben. Mittlerweile gibt es einen Ableger von HTML namens XHTML. In der Sprachversion 1.0 ist XHTML eine Redefinition von HTML mit Hilfe von XML. XML hat nämlich ähnliche Aufgaben wie SGML.

HTML ist eine so genannte Auszeichnungssprache (Markup Language). Sie hat die Aufgabe, die logischen Bestandteile eines textorientierten Dokuments zu beschreiben. Als Auszeichnungssprache bietet HTML daher die Möglichkeit an, typische Elemente eines textorientierten Dokuments, wie Überschriften, Textabsätze, Listen, Tabellen oder Grafikreferenzen, als solche auszuzeichnen.

Das Auszeichnungsschema von HTML geht von einer hierarchischen Gliederung aus. HTML zeichnet Inhalte von Dokumenten aus. Dokumente haben globale Eigenschaften wie zum Beispiel Kopfdaten. Der eigentliche Inhalt besteht aus Elementen, zum Beispiel einer Überschrift 1. Ordnung, Textabsätzen, Tabellen und Grafiken. Einige dieser Elemente haben wiederum Unterelemente. So enthält ein Textabsatz zum Beispiel eine als betont oder fett markierte Textstelle, eine Aufzählungsliste besteht aus einzelnen Listenpunkten, und eine Tabelle gliedert sich in einzelne Tabellenzellen.

Die meisten dieser Elemente haben einen fest definierbaren Erstreckungsraum. So geht eine Überschrift vom ersten bis zum letzten Zeichen, eine Aufzählungsliste vom ersten bis zum letzten Listenpunkt, oder eine Tabelle von der ersten bis zur letzten Zelle. Auszeichnungen markieren Anfang und Ende von Elementen. Um etwa eine Überschrift auszuzeichnen, lautet das Schema:

`[Überschrift]` Text der Überschrift `[Ende Überschrift]`

Bei einem Element, das wiederum Unterelemente besitzt, etwa einer Aufzählungsliste, lässt sich das gleiche Schema anwenden:

`[Liste]` `[Listenpunkt]` Text des Listenpunkts `[Ende Listenpunkt]` `[Listenpunkt]` Text des Listenpunkts `[Ende Listenpunkt]` `[Ende Liste]`

Web-Browser, die HTML-Dateien am Bildschirm anzeigen, lösen die Auszeichnungsmarkierungen auf und stellen die Elemente dann in optisch gut erkennbarer Form am Bildschirm dar. Dabei ist die Bildschirmdarstellung aber nicht die einzige denkbare Ausgabeform. HTML kann beispielsweise genauso gut mit Hilfe synthetisch erzeugter Stimmen auf Audio-Systemen ausgegeben werden.

## HTML für Hypertext

Eine der wichtigsten Eigenschaften von HTML ist die Möglichkeit, Verweise zu definieren. Verweise ("Hyperlinks") können zu anderen Stellen im eigenen Projekt führen, aber auch zu beliebigen anderen Adressen im World Wide Web und sogar zu Internet-Adressen, die nicht Teil des Web sind.

Durch diese einfache Grundeigenschaft eröffnet HTML völlig neue Welten. Das Bewegen zwischen räumlich weit entfernten Rechnern wird bei modernen grafischen Web-Browsern auf einen Mausklick reduziert. In Ihren eigenen HTML-Dateien können Sie Verweise notieren und dadurch inhaltliche Verknüpfungen zwischen Ihren eigenen Inhalten und denen anderer Anbieter herstellen. Auf dieser Grundidee beruht letztlich das gesamte World Wide Web, und dieser Grundidee verdankt es seinen Namen.

Im Zeitalter der Kommerzialisierung des Internet sind natürlich auch die Verweise zu einem kommerziellen Gegenstand geworden. Anklickbare Werbe-Grafiken ("Banner") auf häufig besuchten Seiten führen zu Anbietern, die für die Platzierung der Banner Miete bezahlen. Auch das sind Verweise. Glücklicherweise gibt es daneben aber weiterhin genügend "herkömmliche" Verweise im WWW, die einfach nur die Grundidee des Web verfolgen und zur weltweiten Vernetzung von Information beitragen wollen.

## HTML-Versionen

Die erste Sprachversion von HTML gilt heute nicht mehr als erwähnenswert. Die Spezifikation zu dieser HTML-Version ist auf den Seiten des W3-Konsortiums, das für die Standardisierung von HTML verantwortlich ist, auch gar nicht mehr verfügbar.

HTML 1.0 enthielt Auszeichnungen für Standard-Elemente wie Überschriften, Textabsätze, für Grafikreferenzen und natürlich für Verweise.

HTML 2.0 wurde im November 1995 offizieller Sprachstandard. Die Spezifikation für HTML 2.0 ist beim W3-Konsortium noch verfügbar:

HTML 2.0 Spezifikation

Die Version 2.0 von HTML gilt heute als der allerkleinste gemeinsame Nenner. Allerdings enthält HTML 2.0 durchaus Sprachelemente, die bis auf den heutigen Tag von den großen Browsern nicht oder nicht vollständig unterstützt werden, etwa das `<link>`-Element.

HTML 2.0 wurde allgemein als Enttäuschung empfunden, da gerade Netscape in seiner Entwicklung schon viel weiter war: So war HTML 2.0 Standard, als der Navigator in seiner überwältigenden Produktversion 2.0 auf den Markt kam. Darin waren bereits solche Dinge wie Frames (Mehrfenstertechnik) und Multimedia-Referenzen implementiert, die meilenweit über den offiziellen HTML-Standard hinausgingen. Die meisten Ersteller von Web-Seiten berauschten sich damals an den neuen Möglichkeiten von Netscape und hatten wenig Verständnis für die Restriktionen von HTML 2.0.

HTML 3.2 wurde nach langen Diskussionen am 14.1.1997 offizieller Sprachstandard. Die Spezifikation zu HTML 3.2 ist auf den Seiten des W3-Konsortiums verfügbar:

HTML 3.2 Spezifikation

Dass diese Version eine schwere Geburt war, lässt sich schon an der merkwürdigen Versionsnummer erahnen. Das W3-Konsortium, von den Erfolgen eines Netscape-Browsers unbeeindruckt, entwickelte zunächst eine geplante Version 3.0. Die Vorschläge zu HTML 3.0 enthielten zwar etliche interessante Bestandteile. Doch insgesamt liefen die Vorschläge völlig an den neuen Realitäten im Web vorbei. HTML 3.2 ist das Ergebnis einer völligen Umarbeitung der Vorschläge zu dem niemals offiziell gewordenen HTML 3.0. Endlich wurden zumindest Tabellen offizieller Bestandteil von HTML. Daneben aber auch diverse Elemente zur physischen Textauszeichnung. Aus letzterem Grund stellt HTML 3.2 aus heutiger Sicht ein mittleres Unglück für die Entwicklung von HTML dar. Denn in dieser Version wurde versucht, HTML als Sprache für optisches Design zu etablieren, was jedoch nicht dem Wesen der Sprache entsprach und auch nur halbherzig implementiert war. Viele Sprachbestandteile, die in HTML 3.2 eingeführt wurden, sind mittlerweile als deprecated (missbilligt) eingestuft und sollen künftig wieder aus dem HTML-Sprachstandard entfallen, weil sie durch andere, ergänzende Technologien wie CSS realisierbar sind.

HTML 4.0 wurde erstmals am 18.2.1998 als Sprachstandard verabschiedet. Diese Sprachversion wurde jedoch mehrfach überarbeitet und liegt mittlerweile in einer Version 4.01 vor. Die jeweils aktuelle Version von HTML 4.x finden Sie auf den Seiten des W3-Konsortiums:

HTML 4.x Spezifikation

HTML 4.0 stellt den Versuch dar, sich auf die Kernaufgaben von HTML zurückzubesinnen. Das Arsenal der Sprachbestandteile dieser Version regelt vor allem die Einbindung von Cascading Style Sheets (CSS) und von Script-Sprachen wie JavaScript in HTML. Ein weiterer wichtiger Schwerpunkt ist das Thema Internationalisierung. HTML 4.0 setzt im Gegensatz zu seinen Vorläufern voll auf das Unicode-System und erlaubt damit, Texte in allen nur erdenklichen Sprachen der Welt HTML-gerecht zu notieren. Es gibt allerdings auch viel Verwirrendes in HTML 4.0. Dazu gehören vor allem die drei Sprachvarianten, die das W3-Konsortium anbietet: "HTML Strict", "HTML Transitional" und "HTML Frameset". Für Anfänger ist die Politik, die hinter dieser Aufteilung steckt, kaum nachvollziehbar, und so ist es kein Wunder, dass sich die meisten Web-Entwickler bis heute wenig Gedanken über diese Feinheiten machen. Das ist zwar schade, weil es sich durchaus lohnt, sich mit den Bestrebungen des W3-Konsortiums eingehender auseinanderzusetzen. Andererseits ist es verständlich, dass jemand, der "mal eben" seine Homepage im Web veröffentlichen will, keine Lust hat, sich mit konzept-theoretischen Aspekten des Designs von Auszeichnungssprachen auseinanderzusetzen. Mit diesem Widerspruch lebt HTML 4.0 leider.

Verkompliziert wurde die Sache außerdem noch dadurch, dass HTML im Zuge der Etablierung von XML in Gestalt von XHTML neu definiert wurde. So existiert heute neben dem SGML-basierten, klassischen HTML das XML-basierte XHTML. Letzteres ist zwar auch "nur" HTML, aber aufgrund XML-bedingter Gegebenheiten gibt es einige Unterschiede zu HTML. Von XHTML gibt es mittlerweile auch schon zwei Versionen: eine Version 1.0 und eine Version 1.1:

XHTML 1.0 Spezifikation
XHTML 1.1 Spezifikation

Angesichts dieser verwirrenden Versionen-Politik, die einen Kompromiss aus den Vorstellungen verschiedener Seiten und Interessen darstellt, gilt es für HTML-Anfänger vor allem, Ruhe zu bewahren und nicht gleich angewidert davonzurennen. Es ist durchaus möglich, HTML-4.0- oder XHTML-1.0-gerechte Web-Seiten zu erstellen, die richtig gut aussehen. Es gehört einfach ein wenig Kenntnis der Sachlage dazu. Innerhalb des HTML-Kapitels der vorliegenden Dokumentation wird versucht, die "Philosophie" des heutigen HTML so zu vermitteln, dass keine Entmutigungs-Effekte eintreten.

### Beachten Sie:

Im Link-Verzeichnis des Online-Angebots von SELFHTML aktuell finden Sie weitere relevante und aktuelle Verweise, z.B. zu deutschen Übersetzungen und weiteren Quellen:

SELFHTML-Linkverzeichnis: HTML/XHTML

Innerhalb der vorliegenden Dokumentation werden HTML 4.0 und XHTML 1.0 im Kapitel HTML beschrieben.

| Stylesheets
| Entstehung des World Wide Web

© 2007 Impressum