Einführung in HTML

1 Abstract

HTML (Hypertext Markup Language) ist eine Abart von SGML (Structured Generalized Markup Language). HTML dient der Darstellung von:

Es ist die Grundlage des World Wide Webs (W3), das durch HTML Informationen rund um den Globus miteinander verknüpft.

2 Strukturierter Text

Wie SGML, soll auch HTML zur Strukturierung von Text verwendet werden. Dadurch ergibt sich der typische Aufbau eines HTML Textes:

<HTML>
<HEAD>
<TITLE>
Titel des Textes
</TITLE>
</HEAD>
<BODY>
HTML-Text...
</BODY>
</HTML>

Einzelne Elemente eines Textes werden durch sog. Tags gekennzeichnet. Dabei gibt es öffnende Tags (<TAG>) und schließende Tags (</TAG>). Nicht alle Tags treten paarweise auf, für einige wird kein schließender Tag benötigt. Solche Konstrukte können auch verschachtelt werden, sie dürfen sich allerdings nicht überlappen. Im folgenden werden wir uns mit diesen Tags beschäftigen.

Eines sollten Sie immer bedenken: HTML ist nicht zum formatieren von Texten gedacht!

Die Darstellung eines Tags ist immer Sache des verwendeten Browsers. Während ein Browser eine Überschrift in Fettdruck hervorhebt, verwendet ein anderer Großbuchstaben zur Auszeichnung. Versuchen Sie also nicht ein bestimmtes Aussehen zu erzielen, da es u.U. nur für den von Ihnen verwendeten Browser gültig ist.

2.1 HEAD

Jedes HTML Dokument gliedert sich in zwei Teile. Im HEAD Element finden sich allgemeine Angaben über das Dokument. Es enthält keinen Text aus dem Dokument selbst. Im HEAD Element sind nur bestimmte Tags erlaubt.

2.1.1 TITLE

Der TITLE Tag bestimmt den Titel eines Dokumentes.

Beispiel:

<TITLE>Kurse im Rechenzentrum</TITLE>

Jedes HTML Dokument sollte einen Titel haben. Sie sind nicht Bestandteil des Dokumententextes, werden aber vom Browser erkannt und separat dargestellt, z.B. von Lynx als Kopfzeile. Zu einem öffnenden <TITLE> gehört ein schließender </TITLE>. Jedes Dokument darf nur einen Titel haben.

2.1.2 ISINDEX

Mit ISINDEX wird ein Dokument "suchbar" gemacht. Die meisten Browser haben eine eingebaute Suchfunktion, die diesen Tag überflüssig machen.

Beispiel:

<ISINDEX>

<ISINDEX> ist ein einfacher Tag.

2.1.3 LINK

Durch einen LINK wird eine Beziehung zu einem anderen Objekt definiert. Es wird meistens zur Deklaration der Urheberschaft verwendet.

Beispiel:

<LINK REV=made HREF=mailto:Dierk.Lucyga@uni-konstanz.de>

Einige Browser, z.B. Lynx, erlauben es dem Anwender, direkt E-Mail an den Autor eines HTML Dokuments zu schicken, wenn dieser einen entsprechenden LINK eingebaut hat. <LINK> ist ein einfacher Tag.

2.2 BODY

Im BODY finden sich alle Informationen, die zum Dokument selbst gehören. Das sind der eigentliche Text, aber auch Strukturangaben wie Überschriften, Hypertext-Links, Grafiken, Hervorhebungen, etc.

2.2.1 Überschriften

HTML kennt sechs Überschriftenebenen. Diese werden durch die Tags <H1> bis <H6> repräsentiert. Zu einem öffnenden Tag gehört ein schließender.

Beispiel:

<H1>Vom Liebesleben der Waldameise</H1>

2.2.2 Absätze

In HTML sind Leerzeichen und Zeilenumbrüche ohne Bedeutung, darum ist es notwendig, Absatzenden mit <P> zu kennzeichnen. In der Regel fügen die Browser nach einem Absatz eine Leerzeile ein. Wollen Sie dies vermeiden verwenden Sie statt eines Absatzendes ein erzwungenes Zeilenende <BR>.

2.2.3 Aufzählungen

HTML kennt mehrere Arten der Aufzählung: numerierte und nicht numerierte Listen, Glossare, Menülisten und Verzeichnislisten. Die Darstellung der einzelnen Listen ist abhängig vom Browser. Numerierte und nicht numerierte Listen dienen der Auflistung mehrzeiliger Absätze. Menülisten sind kompakter und enthalten normalerweise nur ein Item je Zeile. Verzeichnislisten sind für sehr kurze Einträge, typischerweise weniger als zwanzig Zeichen. Browser sind gehalten, die Einträge spaltenweise anzuzeigen.

Bitte beachten Sie, daß <LI> (Listenelement) ein einfacher Tag ist und Absatzendemarkierungen nicht notwendig sind.

Alle Listen können verschachtelt werden, d.h. eine Liste kann Element einer Liste sein.

2.2.3.1 Numerierte Listen

Eine numerierte Liste wird durch die Tags <OL> (Anfang der Liste), <LI> (Listenelement) und </OL> (Ende der Liste) erzeugt.

Beispiel:

<OL>
<LI>Besteigen Sie am Bahnhof einen Bus der Linie 9(a oder b). Diese Linie fährt an die Universität
<LI>Betreten Sie die Universität an der Bushaltestelle durch den Haupteingang und folgen Sie den Markierungen zum Gebäudeteil B
<LI>Auf Ebene 4 finden Sie den Eingang zur Bibliothek, folgen Sie dort den Markierungen in Richtung G3
</OL>

2.2.3.2 Nicht numerierte Listen

Eine nicht numerierte Liste wird durch die Tags <UL> (Anfang der Liste), <LI> (Listenelement) und </UL> (Ende der Liste) erzeugt.

Beispiel:

Mosaic hat die folgenden Funktionalitäten:<P>

<UL>
<LI>Grafische Anzeige von Plain Text, formatiertem Text und Hypertext, sowie Grafiken.
<LI>Intelligente grafische Benutzerschnittstelle mit weitgehenden Anpassungsmöglichkeiten an Benutzerbedürfnisse
<LI>Dokumentinterne und netzweite Suchmöglichkeiten einschließlich der Nutzung von WAIS Ressourcen
</UL>

2.2.3.3 Menülisten

Eine Menüliste wird durch die Tags <MENU> (Anfang der Liste), <LI> (Listenelement) und </MENU> (Ende der Liste) erzeugt.

Beispiel:

<MENU>
<LI>Spaghetti in kochendes Salzwasser geben
<LI>8 Minuten kochen lassen
<LI>Mit einer Sauce al gusto servieren
</MENU>

2.2.3.4 Verzeichnislisten

Eine Verzeichnisliste wird durch die Tags <DIR> (Anfang der Liste), <LI> (Listenelement) und </DIR> (Ende der Liste) erzeugt.

Beispiel:

<DIR>
<LI>A-H<LI>I-M
<LI>N-R<LI>S-Z
</DIR>

2.2.3.5 Glossare

Ein Glossar wird durch die Tags <DL> (Anfang der Liste), <DT> (definition term), <DD> (definition description) und </DL> (Ende der Liste) erzeugt. <DT> und <DD> können nur paarweise auftreten, d.h. zu jedem definition term muß es eine definition description geben.

Beispiel:

<DL>
<DT>gautschen
<DD>Papier zum Pressen ins Gautschbrett legen; auch: Lehrlinge nach altem Buchdruckerbrauch unter die Gehilfen aufnehmen
<DT>Murkel
<DD>Wickelkind
<DT>Terpen
<DD>Bestandteil ätherischer Öle
</DL>

2.2.4 Formatierter Text

Sollten Sie bereits formatierten Text haben, bei dem es auf die Gestaltung ankommt (z.B. Tabellen), können Sie mit <PRE> und </PRE> die Darstellung durch einen äquidistanten Font veranlassen. Dabei werden auch Leerstellen und Zeilenumbrüche übernommen.

Beispiel:

<PRE>

         1. Quartal   2. Quartal   3.Quartal   4. Quartal

Socken 1893 1606 1742 1549

Hemden 795 801 690 963

Hosen 649 530 791 661

</PRE>

2.2.5 Adressen

Mit <ADDRESS> und </ADDRESS> bekommen Sie eine besondere Darstellung für Adressen, Signaturen, Autorenkennungen, etc.

Beispiel:

<ADDRESS>
Dierk Lucyga<BR>
Eichhornstr. 7<BR>
78464 Konstanz<BR>
</ADDRESS>

2.2.6 Zitate

Zur Darstellung von Zitaten aus anderen Quellen gibt es zwei Möglichkeiten. Die hier vorgestellte mittels <BLOCKQUOTE> und </BLOCKQUOTE> ist besonders für längere Zitate geeignet.

Beispiel:

Craig Hunt führt aus:
<BLOCKQUOTE>
Good passwords are the simplest, and most important, part of the network security. The CERT estimates that 80% of all network security problems are caused by bad passwords.
</BLOCKQUOTE>

2.2.7 Logische Styles

HTML kennt noch eine ganze Reihe sogenannter logischer Styles. Es sind dies:

EM            Betonung                                                                
STRONG        Stärkere Betonung                                                       
CODE          Programmcode (normalerweise äquidistanter Font)                         
KBD           Für Anleitungen, um Benutzereingaben darzustellen                       
VAR           Variablennamen                                                          
DFN           Definitionen                                                            
CITE          Kurze Zitate                                                            

Alle Tags müssen als Anfangs- und Endetags verwendet werden.

2.2.8 Inline Images

WWW zeichnet sich u.a. durch die Integration von Text und Bild in einem Dokument aus. Graphiken innerhalb eines Dokuments werden Inline Images genannt (im Gegensatz zu "gelinkten" Bildern, mit denen wir uns im nächsten Kapitel beschäftigen werden). Geeigenete Grafikformate sind: GIF und XBM.

Beispiel:

<IMG SRC="dateiname" ALIGN="textausrichtung" ALT="alternativtext">

dateiname bezeichnet den Namen der einzubindenden Grafikdatei. textausrichtung kann die Wert TOP, MIDDLE oder BOTTOM annehmen und gibt an, auf welcher Höhe Text wenn möglich neben einer Grafik angeordnet werden soll. Die Voreinstellung ist BOTTOM. Die Angabe eines alternativtextes ist besonders für nicht-grafische Browser von Bedeutung. Diese zeigen dann statt eines Platzhalters für die Grafik den Alternativtext an.

3 Hypertext

Mit dem bisher gelernten sollten Sie in der Lage sein, bereits recht brauchbare HTML-Dokumente (in der Fachsprache Pages genannt) zu erstellen. Was uns jetzt noch fehlt, ist eine Möglichkeit, unsere HTML-Pages zueinander in Beziehung zu setzen und miteinander zu verknüpfen. Gerade diese Hypertext-Fähigkeit ist aber einer der Kernpunkte des World Wide Webs. Damit ist es möglich, von einem beliebigen Punkt in einem Dokument einen Zeiger (Link) auf eine beliebige Stelle in einem anderen Dokument zu setzen. Der Ausgangspunkt des Links wird Anchor genannt.

Bevor wir uns damit genauer auseinandersetzen müssen wir zuerst einen kleinen Exkurs unternehmen und uns mit URLs beschäftigen.

3.1 URL

Ein URL (Uniform Resource Locator) kann als Dateiname verstanden werden, der um seine genaue Lage- und Zugriffsbeschreibung im Netz erweitert wurde. Durch ein URL kann also jedes Objekt im Internet eindeutig und vollständig beschrieben werden. Das klingt komplizierter als es ist, sehen wir uns daher einige Beispiele an. Die Syntax eines URLs ist folgendermaßen:

protokoll://adresse/dateinamen.

3.1.1 Datei URL

Auf unserem FTP-Server ftp.rz.uni-konstanz.de findet sich im Verzeichnis /pub/soft/dos/virus die Datei virdoc.txt. Da sie, um auf diese Datei zugreifen zu können, FTP verwenden, lautet der URL:

ftp://ftp.rz.uni-konstanz.de/pub/soft/dos/virus/virdoc.txt

Protokoll   Adresse            Dateiname

3.1.2 Gopher URL

Gopher URLs sind ähnlich einfach. Unseren Konstanzer Gopher finden Sie unter dem URL:

gopher://gopher.uni-konstanz.de/

Protokoll  Adresse

Da hier kein Dateiname erscheint, wird das Stammverzeichnis des Gophers angezeigt.

3.1.3 HTTP URL

Mit einem HTTP URL verweisen Sie auf einen Eintrag auf einem anderen WWW-Server.

http://www.ai.mit.edu/stocks/graphs.html

Protokoll Adresse  Dateiname

3.1.4 Unvollständige URL

Wenn Sie von einem HTML-Dokument auf ein anderes verweisen wollen, das auf dem gleichen Server liegt genügt die Angabe des Dateinamens als URL. Damit wird es kinderleicht, Ihre HTML-Dokumente miteinander zu verknüpfen.

3.2 Links und Anchor

Damit verfügen wir über die wichtigsten Zutaten für unser Hypertextsystem, die Syntax für eine Verknüpfung ist denkbar einfach: <A HREF="URL">Anker</A>, wobei "Anker" der Text ist, der im Dokument als Link (als Absprungstelle) zum anderen Dokument dargestellt wird.

Bei der Auswahl von "Anker" (z.B. durch Anklicken mit der Maus) wird URL aufgerufen. Handelt es sich bei URL um ein HTML-Dokument haben sie außerdem noch die Möglichkeit an eine beliebige Stelle in diesem Dokument zu springen. Die Zielstelle wird named anchor genannt. Einen named anchor erstellen Sie mit <A NAME="named anchor">text</A>. Ein Beispiel soll dies verdeutlichen.

In einem Text A.html über Waldameisen findet sich folgendes:

Ein nicht zu vernachlässigender Teil des gesellschaftlichen Lebens der Waldameise ist der <A NAME="Wald-a-Liebe">Liebe</A> gewidmet.

Von einem Text B.html aus können Sie auf diese Stelle verweisen:

Die Nacht ist nicht allein zum Schlafen da! Das wissen sowohl die großen, als auch die <A HREF="A.html#Wald-a-Liebe">kleinen Tiere</A> des Waldes.

5 Anhang: ISO LATIN 1 CHARACTER ENTITIES

This list is derived from "ISO 8879:1986//ENTITIES Added Latin 1//EN".

&Aelig;      capital AE diphthong (ligature)
&Aacute;     capital A, acute accent
&Acirc;      capital A, circumflex accent
&Agrave;     capital A, grave accent
&Aring;      capital A, ring
&Atilde;     capital A, tilde
&Auml;       capital A, dieresis or umlaut mark
&Ccedil;     capital C, cedilla
&ETH;        capital Eth, Icelandic
&Eacute;     capital E, acute accent
&Ecirc;      capital E, circumflex accent
&Egrave;     capital E, grave accent
&Euml;       capital E, dieresis or umlaut mark
&Iacute;     capital I, acute accent
&Icirc;      capital I, circumflex accent
&Igrave;     capital I, grave accent
&Iuml;       capital I, dieresis or umlaut mark
&Ntilde;     capital N, tilde
&Oacute;     capital O, acute accent
&Ocirc;      capital O, circumflex accent
&Ograve;     capital O, grave accent
&Oslash;     capital O, slash
&Otilde;     capital O, tilde
&Ouml;       capital O, dieresis or umlaut mark
&THORN;      capital THORN, Icelandic
&Uacute;     capital U, acute accent
&Ucirc;      capital U, circumflex accent
&Ugrave;     capital U, grave accent
&Uuml;       capital U, dieresis or umlaut mark
&Yacute;     capital Y, acute accent
&aacute;     small a, acute accent
&acirc;      small a, circumflex accent
&aelig;      small ae diphthong (ligature)
&agrave;     small a, grave accent
&aring;      small a, ring
&atilde;     small a, tilde
&auml;       small a, dieresis or umlaut mark
&ccedil;     small c, cedilla
&eacute;     small e, acute accent
&ecirc;      small e, circumflex accent
&egrave;     small e, grave accent
&eth;        small eth, Icelandic
&euml;       small e, dieresis or umlaut mark
&iacute;     small i, acute accent
&icirc;      small i, circumflex accent
&igrave;     small i, grave accent
&iuml;       small i, dieresis or umlaut mark
&ntilde;     small n, tilde
&oacute;     small o, acute accent
&ocirc;      small o, circumflex accent
&ograve;     small o, grave accent
&oslash;     small o, slash
&otilde;     small o, tilde
&ouml;       small o, dieresis or umlaut mark
&szlig;      small sharp s, German (sz ligature)
&thorn;      small thorn, Icelandic
&uacute;     small u, acute accent
&ucirc;      small u, circumflex accent
&ugrave;     small u, grave accent
&uuml;       small u, dieresis or umlaut mark
&yacute;     small y, acute accent
&yuml;       small y, dieresis or umlaut mark

6 Anhang: BNF-Syntax für URL

This is a BNF-like description of the Uniform Resource Locator syntax. A vertical line "|" indicates alternatives, and [brackets] indicate optional parts. Spaces are represented by the word "space", and the vertical line character by "vline". Single letters stand for single letters. All words of more than one letter below are entities described somewhere in this description.

The current IETF URI working group preference is for the prefixedurl production. (Nov 1993. July 93: url).

The "national" and "punctuation" characters do not appear in any productions and therefore may not appear in URLs.

The "afsaddress" is left in as historical note, but is not a url production

prefixedurl      url:url
url              httpaddress
                 [ftpaddress | newsaddress | nntpaddress | 
                 prosperoaddress | telnetaddress | gopheraddress |
                 waisaddress | mailtoaddress |midaddress | 
                 cidaddress]
scheme           ialpha
httpaddress      http://hostport [ / path ] [ ? search ]
ftpaddress       ftp://login/path [ ftptype ]
afsaddress       afs://cellname/path
newsaddress      news:groupart
nntpaddress      nntp:group/digits
midaddress       mid:addr-spec
cidaddress       cid:content-identifier
mailtoaddress    mailto:xalphas@hostname
waisaddress      waisindex | waisdoc
waisindex        wais://hostport/database [ ? search ]
waisdoc          wais://hostport/database/wtype/wpath
wpath            digits = path ; [ wpath ]
groupart         * | group | article
group            ialpha [ . group ]
article          xalphas@host
database         xalphas
wtype            xalphas
prosperoaddress  prosperolink
prosperolink     prospero://hostport/hsoname [% 0 0 version 
                 [attributes] ]
hsoname          path
version          digits
attributes       attribute [ attributes ]
attribute        alphanums
telnetaddress    telnet://login
gopheraddress    gopher://hostport [/gtype [ gcommand ] ]
login            [ user[:password]@]hostport
hostport         host[:port]
host             hostname | hostnumber
ftptype          A formcode | E formcode | I | L digits
formcode         N | T | C
cellname         hostname
hostname         ialpha [.hostname ]
hostnumber       digits.digits.digits.digits
port             digits
gcommand         path
path             void | segment [ / path ]
segment          xpalphas
search           xalphas [ + search ]
user             alphanum2 [ user ]
password         alphanum2 [ password ]
fragmentid       xalphas
gtype            xalpha
alphanum2        alpha | digit | - | _ | . | +
xalpha           alpha | digit | safe | extra | escape
xalphas          xalpha [ xalphas ]
xpalpha          xalpha | +
xpalphas         xpalpha [ xpalphas ]
ialpha           alpha [ xalphas ]
alpha            a | b | c | d | e | f | g | h | i | j | k | l | m | 
                 n | o | p | q | r | s | t | u | v | w | x | y | z | A | B | 
                 C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | 
                 R | S | T | U | V | W | X | Y | Z
digit            0 |1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
safe             $ | - | _ | @ | . | & | + | -
extra            ! | * | " | ' | ( | ) | ,
reserved         = | ; | / | # | ? | : | space
escape           % hex hex
hex              digit | a | b | c | d | e | f | A | B | C | D | E | 
                 F
national         { | } | vline | [ | ] | \ | ^ | ~
punctuation      < | >
digits           digit [ digits ]
alphanum         alpha | digit
alphanums        alphanum [ alphanums ]
void


Tue Aug 2 12:24:59 MET DST 1994
Dierk Lucyga