Helmut Herold: Das HTML/XHTML-Buch
Transcrição
Helmut Herold: Das HTML/XHTML-Buch
Helmut Herold: Das HTML/XHTML-Buch Dr. Helmut Herold Das HTML/XHTML-Buch mit Cascading Style Sheets und einer Einführung in XML Alle in diesem Buch enthaltenen Programme, Darstellungen und Informationen wurden nach bestem Wissen erstellt und mit Sorgfalt getestet. Dennoch sind Fehler nicht ganz auszuschließen. Aus diesem Grund ist das in dem vorliegenden Buch enthaltene ProgrammMaterial mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Autoren und die SuSE Linux AG übernehmen infolgedessen keine Verantwortung und werden keine daraus folgende Haftung übernehmen, die auf irgendeine Art aus der Benutzung dieses Programm-Materials, oder Teilen davon, oder durch Rechtsverletzungen Dritter entsteht. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Buch berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann verwendet werden dürften. Alle Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt und sind möglicherweise eingetragene Warenzeichen. Die SuSE Linux AG richtet sich im Wesentlichen nach den Schreibweisen der Hersteller. Andere hier genannte Produkte können Warenzeichen des jeweiligen Herstellers sein. Dieses Werk ist urheberrechtlich geschützt. Alle Rechte, auch die der Übersetzung, des Nachdruckes und der Vervielfältigung des Buches, oder Teilen daraus, vorbehalten. Kein Teil des Werkes darf ohne schriftliche Genehmigung des Verlages in irgendeiner Form (Druck, Fotokopie, Microfilm oder einem anderen Verfahren), auch nicht für Zwecke der Unterrichtsgestaltung, reproduziert oder unter Verwendung elektronischer Systeme verarbeitet, vervielfältigt oder verbreitet werden. Die Deutsche Bibliothek – CIP-Einheitsaufnahme Herold, Helmut: Das HTML/XHTML-Buch : mit cascading style sheets und einer Einführung in XML / Helmut Herold. – Nürnberg : SuSE-PRESS, 2002 ISBN 3-935922-52-3 © 2002 SuSE Linux AG, Nürnberg (http://www.suse.de) Umschlaggestaltung: Fritz Design GmbH, Erlangen Gesamtlektorat: Nicolaus Millin Fachlektorat: Uwe Boris, Michael Eicks, Klaas Freitag, Bjoern Lotz, Arno Seidel, Steve Tomlin, Peter Varkoly Satz: LATEX Druck: Kösel, Kempten Printed in Germany on acid free paper. Inhaltsverzeichnis 1 2 Einleitung 1.1 Die Entstehung von HTML 1.2 Die Browser-Problematik 1.3 Das W3-Konsortium (W3C) 1.4 Cascading Style Sheets (CSS) 1.5 XML und XHTML . . 1.6 Einige Internet-Adressen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HTML und einige weitere wichtige Begriffe vorweg 2.1 HTML – Die Layoutsprache für WWW-Dokumente 2.2 Das Client-Server Konzept im WWW . . . 2.2.1 Web-Server . . . . . . . 2.2.2 Web-Clients (Web-Browser) . . . . 2.2.3 HTTP – Das Kommunikationsprotokoll . 2.2.4 URI – Die einheitliche Adressierung im Internet . . . . . . . . . . . . 1 1 2 3 3 3 4 . . . . . . . . . . . 7 7 7 8 8 8 9 3 Grundlegendes zu HTML-Dokumenten 3.1 Struktur von HTML-Dokumenten . . . . . . 3.2 Struktur von HTML-Befehlen . . . . . . . 3.3 Grundlegende HTML-Tags . . . . . . . 3.3.1 Das Tag <html> . . . . . . . . 3.3.2 Das Tag <head> . . . . . . . . 3.3.3 Das Tag <body> . . . . . . . . 3.4 Ein erstes Beispiel und weitere grundlegende HTML-Konzepte 3.5 Sonderzeichen in HTML-Dokumenten . . . . . 3.6 Farben in HTML-Dokumenten . . . . . . 3.6.1 RGB-Farben und vordefinierte Farbnamen . . 3.6.2 Standard-Farben . . . . . . . . 3.7 Kommentare . . . . . . . . . . 3.8 Übung . . . . . . . . . . . 11 11 11 12 12 12 12 13 16 17 17 19 19 19 4 Formatieren und Gestalten von Texten 4.1 Überschriften . . . . 4.2 Zeilenumbrüche . . . 21 21 23 . . . . . . . . . . . . V Inhaltsverzeichnis 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 Absätze . . . . Zentrieren mehrerer Absätze Texthervorhebungen . Zitate . . . . . Darstellung von Code . Darstellung von Adressen Schriftgrößen und -farben Zeilenumbruch verhindern Übung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 25 27 30 32 34 36 40 41 5 Aufzählungen 5.1 Einfache Aufzählungen . . . . . . . . 5.1.1 Die Tags <ul> und <li> . . . . . . 5.1.2 Geschachtelte Aufzählungen . . . . . 5.1.3 Alternative Aufzählungssymbole . . . . 5.1.4 Graphische Aufzählungssymbole . . . . 5.1.5 Aufzählungen mit eingerückten und abgesetzten Absätzen 5.2 Numerierte Aufzählungen . . . . . . . 5.2.1 Die Tags <ol> und <li> . . . . . . 5.2.2 Geschachtelte numerierte Aufzählungen . . . 5.2.3 Hervorheben der Numerierungssymbole . . . 5.2.4 Alternative Numerierungssymbole . . . . 5.2.5 Explizites Setzen des Startwerts bei Numerierungen 5.2.6 Numerierungen mit eingerückten und abgesetzten Absätzen 5.3 Glossare, Verzeichnis- und Menülisten . . . . . 5.4 Übung . . . . . . . . . . . 43 43 43 44 45 46 47 49 49 50 50 51 53 55 57 58 6 Trennlinien 6.1 Einfache Trennlinien 6.2 Linienlänge . 6.3 Linienbreite . 6.4 Linienausrichtung 6.5 Linienschattierung 6.6 Übung . . 7 VI . . . . . . . . . . . . . . . . . . . . . . . Tabellen 7.1 Tags zum Erstellen einer Tabelle . 7.2 Tabellen mit Rahmen . . . 7.3 Randabstand in Tabellenzellen . 7.4 Tabellenrahmen in HTML-4 . . 7.5 Tabellenbreite und -höhe . . . 7.6 Zellenbreite und -höhe . . . 7.7 Kopfzeile und Beschriftung von Tabellen 7.8 Mehrspaltige und mehrzeilige Zellen 7.9 Ausrichten der Tabelleninhalte . 7.10 Ausrichten von Tabellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 61 62 63 64 65 66 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 67 68 69 72 73 77 78 79 81 83 . . . Inhaltsverzeichnis 7.11 7.12 7.13 7.14 7.15 7.16 8 9 Hintergrundfarbe für eine Tabelle . . . . Hintergrundfarbe für eine Tabellenzelle . . . Hintergrundbilder in einer Tabelle . . . . Farbe für Rahmen und Gitternetzlinien . . . Bilder in Tabellenzellen . . . . . . HTML-4-Erweiterungen . . . . . . 7.16.1 Die Tags <thead>, <tbody> und <tfoot> 7.16.2 Die Tags <colgroup> und <col> . . 7.17 Übung . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 87 88 89 90 92 92 96 99 Graphiken in HTML-Dokumenten 8.1 Graphiken einbinden . . . . 8.2 Alternativer Text . . . . . 8.3 Skalieren von Graphiken . . . . 8.4 Ausrichten von Graphiken . . . 8.5 Beschriften von Graphiken . . . 8.6 Abstand zwischen Graphik und Umgebung 8.7 Rahmen bei Graphiken . . . . 8.8 Graphiken als Hintergrundbilder . . 8.9 Graphiken in Überschriften . . . 8.10 Übung . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 101 103 104 107 108 109 111 112 113 113 . . . . . . . . . . . . . . . . . . . . Hyperlinks (Verweise) 9.1 Lokale Verweise innerhalb einer HTML-Datei . . . 9.1.1 Verweisziel markieren . . . . . . . 9.1.2 Verweise definieren . . . . . . . 9.1.3 Markieren von Verweiszielen mit dem Attribut id= . 9.2 Verweise auf andere lokale Dokumente . . . . . 9.3 Verweise ins Web zu nicht lokalen Dokumenten . . . 9.4 Farben von Hyperlinks . . . . . . . . 9.5 Graphiken als Hyperlinks . . . . . . . 9.6 Hyperlinks auf Graphiken . . . . . . . 9.7 Graphische Hyperlinks auf Graphiken . . . . . 9.8 Hyperlinks in einem Text . . . . . . . 9.9 Die unterschiedlichen Protokolltypen . . . . . 9.9.1 http: – Zugriff auf Webseiten . . . . . 9.9.2 file: – Zugriff auf Dateien am lokalen Rechner . 9.9.3 ftp: – Zugriff auf Filetransfer-Service . . . 9.9.4 news: – Zugriff auf Nachrichten von Newsgroups . 9.9.5 mailto: – Verschicken von Mails an vordefinierte Adressen 9.9.6 telnet: – Aufbau einer Verbindung zu einem Telnet-Server 9.9.7 gopher: – Zugriff auf einen gopher-Server . . 9.9.8 javascript: – JavaScript-Aufrufe . . . . 9.10 Übung . . . . . . . . . . . 10 Frames 115 115 115 115 118 118 119 121 122 123 125 126 127 127 128 129 130 131 132 132 132 133 137 VII Inhaltsverzeichnis 10.1 10.2 10.3 10.4 10.5 10.6 Tags zum Erzeugen von Frames . . . . . . Vertikal angeordnete Frames . . . . . . . Horizontal angeordnete Frames . . . . . . Geschachtelte Frames . . . . . . . . Bildlaufleisten bei Frames . . . . . . . Frames und Hyperlinks . . . . . . . . 10.6.1 Hyperlinks auf bestimmte Frames . . . . 10.6.2 Voreingestellte Hyperlinks auf ein Frame (<base target=>) . . . . . . . 10.6.3 Hyperlinks auf unterschiedliche Frames in einem HTML-Dokument . . . . . . . 10.6.4 Vordefinierte Namen für Frames . . . . . 10.6.5 Umschalten zwischen verschiedenen Frame-Konfigurationen 10.6.6 Hyperlinks auf mehrere Frames . . . . . 10.7 Abstände und Rahmen in Frames . . . . . . 10.7.1 Mindestabstände vom Rand eines Frames . . . 10.7.2 Rahmen um Frames . . . . . . . 10.7.3 Farbige Framerahmen . . . . . . . 10.8 Unveränderbare Frames mit fester Größe . . . . 10.9 Browser, die keine Frames unterstützen . . . . . 10.10Eingebettete Frames . . . . . . . . . 10.10.1 Definieren von eingebetteten Frames . . . . 10.10.2 Hyperlinks und eingebettete Frames . . . . 10.11Übung . . . . . . . . . . . 11 Formulare 11.1 Allgemeines zu Formularen . . . . . . . 11.1.1 Formulardefinition (Tag <form>) . . . . 11.1.2 Festlegen der Versandadresse (Attribut action=) . 11.1.3 Festlegen der Übertragungsmethode (Attribut method=) . . . . . . . 11.2 Eingabefelder . . . . . . . . . . 11.2.1 Einzeilige Eingabefelder . . . . . . 11.2.2 Mehrzeilige Eingabefelder . . . . . . 11.3 Auswahllisten . . . . . . . . . . 11.3.1 Das Tag <select> . . . . . . . 11.3.2 Das Tag <option> . . . . . . . 11.4 Radio- und Checkbuttons . . . . . . . 11.4.1 Radiobuttons . . . . . . . . 11.4.2 Checkbuttons . . . . . . . . 11.5 SUBMIT- und RESET-Buttons . . . . . . . 11.5.1 SUBMIT-Buttons . . . . . . . . 11.5.2 Angabe mehrerer SUBMIT-Buttons in einem Formular 11.5.3 RESET-Buttons . . . . . . . . 11.5.4 Graphiken als SUBMIT-Button . . . . . 11.6 Allgemeine Pushbuttons . . . . . . . . VIII 137 138 140 142 145 146 146 149 150 153 158 162 165 165 167 169 171 172 177 177 180 182 185 185 185 186 186 186 187 188 189 189 190 191 191 192 193 193 196 200 201 202 Inhaltsverzeichnis 11.6.1 Das Tag <input type=button> . . . 11.6.2 Das Tag <button> . . . . . . 11.7 Schicken von Dateien mit dem FILE-Button . . . 11.8 Unsichtbare Formularelemente . . . . . 11.9 Beschriften und Gruppieren von Formularelementen . 11.9.1 Beschriften einzelner Formularelemente (<label>) 11.9.2 Gruppieren von Formularelementen (<fieldset>, <legend>) . . . . . 11.10Übung . . . . . . . . . . . . . . . . 202 202 202 204 205 206 . . 206 207 . . . . 209 209 210 214 215 13 Angaben im und vor dem Kopfteil 13.1 Festlegen des Dokumententyps . . . . . . 13.2 Zusatzinformationen zum HTML-Dokument . . . 13.2.1 Allgemeines zum Tag <meta...> . . . . 13.2.2 Die Attribute name= und content= . . . . 13.2.3 Das Attribut http-equiv= . . . . . 13.2.4 Client-Pull-Dokumente mit http-equiv="refresh" 13.3 Default-Werte für ein HTML-Dokument . . . . 13.4 Bezüge zu anderen Dokumenten . . . . . . 13.5 Suchfunktion für ein HTML-Dokument . . . . . 217 217 218 218 220 222 224 228 228 229 14 Multimedia-Objekte, Sound und Laufschriften 14.1 Das Plugin-Konzept von Netscape . . . . . . 14.2 Objekte in HTML . . . . . . . . . 14.2.1 Datendateien als Objekt einbinden . . . . 14.2.2 Verweissensitive Graphiken als Objekt einbinden . 14.2.3 Java-Applets als Objekt einbinden . . . . 14.2.4 Flash-Dateien als Objekt einbinden . . . . 14.2.5 ActiveX-Controls als Objekt einbinden . . . 14.2.6 Objekte deklarieren und über Hyperlinks aktivieren 14.3 Java-Applets mit Tag <applet> einbinden (veraltet) . . 14.4 Multimedia in Netscape (veraltet) . . . . . . 14.5 Spezielle Multimedia-Tags und -Attribute im Internet-Explorer 14.5.1 Spezielle <img>-Attribute zum Abspielen von Videodateien 14.5.2 Hintergrund-Sound mit dem Tag <bgsound> . . 14.5.3 Laufschriften mit dem Tag <marquee> . . . 14.6 Übung . . . . . . . . . . . 231 231 232 232 234 235 238 240 241 242 244 246 246 247 247 249 15 Skript-Bereiche und Event-Handler für Skripte 15.1 Skript-Bereiche in HTML . . . . 15.1.1 Definition von Skript-Bereichen . 251 251 251 12 Graphiken mit mehreren Hyperlinks (Image Maps) 12.1 Image Maps . . . . . . . 12.2 Client-seitige Image Maps . . . . 12.3 Server-seitige Image Maps . . . . 12.4 Übung . . . . . . . . . . . . . . . . . . . . . . . . IX Inhaltsverzeichnis 15.1.2 Definition von Noscript-Bereichen 15.2 Event-Handler in HTML . . . . . . . . . . . . 256 257 16 Veraltete Layout-Erweiterungen von Netscape 16.1 Spacer (Freiräume) . . . . . . 16.2 Mehrspaltige Anzeige . . . . . 16.3 Layer . . . . . . . . . 16.3.1 Definieren von Layer . . . . 16.3.2 Hintergrundfarbe und -bild für Layer 16.3.3 Andere HTML-Dateien in einem Layer 16.3.4 Geschachtelte Layer . . . . 16.3.5 Maximale Größe für Layer . . . 16.3.6 Schichten von Layer . . . . 16.3.7 Sichtbare und unsichtbare Layer . . 16.3.8 Inline-Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 263 265 267 267 269 270 271 272 273 276 278 17 Cascading Style Sheets 17.1 Allgemeines zu Style-Sheets . . . . . . . 17.1.1 Definieren von Style-Sheets für eine HTML-Datei . 17.1.2 Globale Style-Sheets für mehrere Dateien . . . 17.1.3 Kaskadieren bei gleichen Style-Sheet-Angaben . . 17.1.4 Kommentare innerhalb von Style-Sheets . . . 17.1.5 Style-Sheet-Sprache festlegen . . . . . 17.1.6 Style-Sheets für unterschiedliche Ausgabemedien (CSS 2.0) . . . . . . . . . 17.2 Definieren von Formaten (Style-Sheets) . . . . . 17.2.1 Eigene Formate für HTML-Tags . . . . . 17.2.2 Format-Unterklassen . . . . . . . 17.2.3 Formate für geschachtelte HTML-Tags . . . 17.2.4 Attribut-orientierte Formate . . . . . 17.2.5 Unabhängige Formate . . . . . . . 17.2.6 Pseudo-Formate . . . . . . . . 17.2.7 Formatieren einzelner Textabschnitte mit dem Tag <span> 17.3 Direktes Formatieren . . . . . . . . 17.3.1 Formatieren von einzelnen HTML-Tags . . . 17.3.2 Formatieren einzelner Textabschnitte mit dem Tag <span> 17.4 Maß- und Farbangaben . . . . . . . . 17.4.1 Maßangaben . . . . . . . . . 17.4.2 Farbangaben . . . . . . . . . 17.4.3 Angaben zur Sound-Kontrolle . . . . . 17.5 CSS-Eigenschaften . . . . . . . . . 17.5.1 Angaben zur Schrift . . . . . . . 17.5.2 Angaben zur Zeilenhöhe, Abständen, Rändern und Ausrichtung . . . . . . . . . . 17.5.3 Angaben zu Rahmen und Innenabstände . . . 17.5.4 Angaben zu Hintergrundfarben und -bildern . . X 279 279 279 280 282 283 283 283 285 285 287 289 295 297 299 301 303 303 304 305 305 307 309 310 310 321 332 347 Inhaltsverzeichnis 17.5.5 17.5.6 17.5.7 17.5.8 Angaben zu Listen . . . . . . . Angaben zu Tabellen . . . . . . . Pseudo-Formate . . . . . . . . Positionen, Größen und sonstige Spezifikationen für Elemente; neu in CSS 2.0 . . . . . . . . 17.5.9 Seitenlayout und Seitenumbruch; neu in CSS 2.0 . 17.5.10 Angaben zum Aussehen von Mauscursor und Bildlaufleisten 17.5.11 Angaben zur Sprachausgabe; neu in CSS 2.0 . . 17.5.12 Definition von HTML 4.0 mit Style-Sheet-Angaben . 359 366 374 18 Eine kurze Einführung in XML 18.1 Allgemeines zu XML . . . . . . . . 18.1.1 Die Metasprache XML . . . . . . . 18.1.2 Dokumenttyp-Definitionen (DTDs) . . . . 18.1.3 Formatierung für XML-Elemente mit Style-Sprachen 18.2 Aufbau und Inhalt von XML-Dateien . . . . . 18.2.1 Typischer Aufbau von XML-Dateien . . . . 18.2.2 Dokumenttyp-Deklaration . . . . . . 18.2.3 CDATA-Abschnitte . . . . . . . 18.2.4 Allgemeine Regeln für Tags, Attribute und Wertzuweisungen . . . . . . . . . . 18.2.5 Wohlgeformte und gültige XML-Dokumente . . 18.2.6 Baumstruktur und Knoten einer XML-Datei . . 18.2.7 XML-Namensräume . . . . . . . 18.2.8 Sonderzeichen und Interpretation von Leer- bzw. Neuezeilezeichen . . . . . . . . . . 18.2.9 Konventionen für XML-Dateinamen . . . . 18.3 Dokumenttyp-Definitionen (DTDs) . . . . . 18.3.1 Die Schlüsselwörter INCLUDE und IGNORE . . 18.3.2 Definition von Elementen . . . . . . 18.3.3 Attribute und Wertzuweisungen . . . . 18.3.4 Entities . . . . . . . . . . 18.3.5 Notationen . . . . . . . . . 18.4 XML-Darstellung mit Cascading Style Sheets (CSS) . . 411 412 412 413 414 414 414 415 417 19 XHTML – das neue, XML-basierte HTML 19.1 Tag- und Attributnamen werden in XHTML klein geschrieben 19.2 Tags <head>, <title> und <body> müssen in XHTML angegeben sein . . . . . . . . . . . . 19.3 Endtags sind in XHTML immer anzugeben . . . . 19.4 Allen Attributen muss in XHTML ein Wert zugewiesen werden 19.5 Alle Attributwerte müssen in XHTML mit "..." umgeben sein 19.6 Weitere MIME-Typen für XHMTL-Dokumente . . . 19.7 Neue Dateiendungen für XHMTL-Dokumente . . . 19.8 XML-Deklaration am Anfang einer XHTML-Datei . . 19.9 Unterschiedliche Dokumenttyp-Angaben . . . . 380 395 398 402 409 417 419 420 422 424 424 425 425 425 432 440 445 446 451 451 452 452 453 454 454 454 455 455 XI Inhaltsverzeichnis 19.10Namensraum-Angabe in XHTML . . . 19.11Hyperlinks nur auf id=-Namen in XHTML . 19.12Attribut xml:lang= statt lang= in XHTML . 19.13Skript- und Style-Angaben müssen in XHTML im stehen . . . . . . . . 19.14Neue Verschachtelungsregeln in XHTML . 20 HTML/XHTML-Kurzreferenz 20.1 Alphabetische Übersicht der HTML-Tags 20.2 Struktur von HTML-Dokumenten . . 20.3 Kommentare in HTML-Dokumenten . 20.4 Tags und Attribute in HTML/XHTML . 20.5 Farben in HTML-Dokumenten . . 20.6 Unterschiede zwischen XHTML und HTML . . . . . . . . . . . . . . . CDATA-Bereich . . . . . . 457 457 . . . . . . 459 460 463 463 463 484 486 . . . . . . . . . . . . 455 456 456 21 CSS-Kurzreferenz 21.1 Allgemeines zu Cascading Style Sheets . . . . . 21.2 Definieren von Formaten (Style-Sheets) . . . . . 21.3 Direktes Formatieren . . . . . . . . 21.4 Maß- und Farbangaben . . . . . . . . 21.5 CSS-Eigenschaften . . . . . . . . . 21.5.1 Schriftformatierung . . . . . . . 21.5.2 Zeilenhöhe, Abstände, Ränder und Ausrichtung . 21.5.3 Listen . . . . . . . . . . 21.5.4 Rahmen und Innenabstände . . . . . 21.5.5 Hintergrundfarben und -bilder . . . . . 21.5.6 Tabellen . . . . . . . . . 21.5.7 Position und Größe von Elemente; neu in CSS 2.0 . 21.5.8 Textfluß um Elemente; neu in CSS 2.0 . . . . 21.5.9 Eingrenzen des Anzeigebereichs und übergroße Elemente; neu in CSS 2.0 . . . . . . . . 21.5.10 Richtung und Anzeige von Elementen; neu in CSS 2.0 21.5.11 Aussehen von Mauscursor und Bildlaufleisten . . 21.5.12 Seitenlayout und Seitenumbruch; neu in CSS 2.0 . 21.5.13 Sprachausgabe; neu in CSS 2.0 . . . . . 489 490 492 496 496 498 498 500 501 502 503 504 505 505 22 Tabellen 22.1 Sonderzeichen in HTML-Dokumenten . . . . 22.1.1 Sonderzeichen in HTML 3.2 . . . . 22.1.2 Griechische Buchstaben (HTML 4.0) . . . 22.1.3 Mathematische Symbole (HTML 4.0) . . . 22.1.4 Pfeilsymbole und technische Symbole (HTML 4.0) 22.1.5 Sonstige Sonderzeichen (HTML 4.0) . . . 22.2 MIME-Typen . . . . . . . . . 22.3 Dezimal-/Hexadezimal-Umrechnungstabelle . . 513 513 513 516 517 518 519 520 522 XII . . . . . . . . 506 506 507 508 510 Kapitel 1 Einleitung Hier wird zunächst kurz auf die Historie von HTML und seine Standardisierung sowie auf einige andere Aspekte eingegangen, die im Hinblick auf HTML zum Grundverständnis gehören. Zudem werden einige wichtige Webadressen vorgestellt, an denen sich weitere Informationen zu HTML und den hier vorgestellten Aspekten befinden. 1.1 Die Entstehung von HTML Nachfolgend werden die Meilensteine der verschiedenen HTML-Versionen kurz vorgestellt: HTML 1.0 Die erste Version von HTML entstand Anfang der 1990er Jahre und war im Vergleich zu den heutigen Versionen noch sehr spartanisch ausgelegt. HTML 2.0 Ende des Jahres 1995 wurde HTML 2.0 als offizieller Sprachstandard verabschiedet. Da der zu dieser Zeit weit verbreitete Netscape Navigator (Version 2) bereits neue Techniken anbot, wie z. B. einfache Multimedia-Unterstützung oder Mehrfenstertechnik, die in diesem HTML-Standard nicht vorhanden waren, nahm man kaum Rücksicht auf diesen Standard. Statt dessen orientierte man sich mehr an die vom Netscape Navigator unterstützten HTMLSprachelemente. HTML 3.2 Diese Version wurde Anfang 1997 zum offiziellen HTML-Standard und war aus heutiger Sicht ein kleines Fiasko, da man sich zu diesem Zeitpunkt nicht klar war, welchen Weg HTML gehen sollte. Mit dieser Version wurde versucht, HTML als Design-Sprache zu etablieren, was sich als Fehlschlag entpuppte. Viele Sprachelemente, die in HTML 3.2 eingeführt wurden, gelten mittlerweile wieder als veraltet und werden sehr wahrscheinlich in neueren HTML-Versionen auch wieder entfernt werden, da sie mittlerweile durch an- 1 1 Einleitung dere und bessere Ansätze verwirklicht wurden, wie z. B. Cascading Style Sheets (siehe Kapitel 17 auf Seite 279). HTML 4.0 und HTML 4.01 HTML 4.0 wurde Anfang 1998 als offizieller HTML-Standard verabschiedet. Zwischenzeitlich gilt HTML 4.01, eine etwas überarbeitete Version zu HTML 4.0, als offizieller HTML-Standard. Diese beiden Versionen standardisierten das Einbinden von Cascading Style Sheets und Skript-Sprachen (wie z. B. JavaScript) in HTML-Dokumente. Zudem konzentrierten sich diese beiden Versionen auf die Internationalisierung von HTML, um HTML-Dokumente in allen möglichen Sprachen für die unterschiedlichsten Kulturkreise dieser Welt zu entwerfen. 1.2 Die Browser-Problematik Browser sind Programme, wie z. B. der Netscape Navigator, der Internet-Explorer usw. Solche Browser sind für eine entsprechende Darstellung der vorgelegten HTML-Dokumente am lokalen Rechner zuständig. Die Darstellung von HTMLDokumenten liegt ausschließlich in der Verantwortung des eingesetzten Browsers. Nun könnte man denken, dass mit der Existenz von HTML-Standards jeder Browser sich bei Vorlage des gleichen HTML-Dokuments gleich verhält. Leider ist das nicht so. Wie bereits im vorherigen Abschnitt erwähnt, war der Netscape Navigator in seiner Version 2 dem damaligen HTML-Standard 2.0 technisch weit voraus, was dazu führte, dass HTML-Dokumente entworfen wurden, die zwar vom Netscape Navigator 2.0 dargestellt werden konnten, aber nicht dem damaligen HTMLStandard 2.0 entsprachen. Nun, diese Situation hat sich bis heute noch nicht grundlegend geändert. Gerade mit dem Aufkommen des Internet-Explorers der Firma Microsoft erwuchs dem Netscape Navigator ein ernst zu nehmender Konkurrent. Diese beiden Browser bekriegen sich bis heute, wobei jeder dieser beiden immer wieder neue HTMLKonstrukte einführte, die er dann nachträglich als HTML-Standard durchzusetzen versuchte. Man sollte also grundsätzlich niemals Browser-spezifische HTML-Konstrukte verwenden, wenn man sicherstellen will, dass ein HTML-Dokument von jedem Browser so dargestellt wird, wie man sich das vorstellt. Da nicht alle im heutigen HTMLStandard enthaltenen Konstrukte und Vorgaben auch von jedem Browser unterstützt werden, liegt die Problematik sogar noch tiefer. Um sicherzustellen, dass eigene HTML-Dokumente auch wirklich in der gewünschten Darstellung bei der Vielzahl von Internet-Benutzern angezeigt werden, ist es empfehlenswert, sich eigene HTML-Dokumente mit mehreren Browsern anzeigen zu lassen, bevor man sie ins Internet stellt. Diese Situation war und ist absolut unbefiedigend, weshalb man schon sehr früh erkannte, dass diesem Wildwuchs von Browser-spezifischen HTML-Konstrukten Einhalt geboten werden musste. Aus diesem Grund gründete man bereits Mitte der 1990er Jahre ein Standardisierungs-Komitee, dass diese Browser-Problematik 2 1.3 Das W3-Konsortium (W3C) zumindest schon etwas gelindert hat und für die Zukunft doch eine Besserung erhoffen lässt. 1.3 Das W3-Konsortium (W3C) Tim Berners-Lee, der geistige Vater von HTTP und HTML, erkannte schon sehr früh, dass ein HTML-Standard geschaffen werden musste. Dazu schuf er im Jahre 1994 mit dem W3-Konsortium (W3C) ein offenes Forum für Entwickler aus den unterschiedlichsten Branchen. Im Jahre 1995 traten namhafte Firmen diesem Komitee bei, die dieses Komitee auch finanzieren. Die Aufgabe des W3-Konsortiums (W3C) ist die Standardisierung von Sprachen, wie z. B. HTML, CSS, XML usw. Während die Standards und Vorgaben dieses Konsortium am Anfang von den Browser-Herstellern nicht allzu ernst genommen wurden, scheint die Bedeutung dieses Komitees in den letzten Jahren doch zu wachsen, und es bleibt zu hoffen, dass die Browser-Hersteller endlich ihre Alleingänge einstellen und sich stattdessen an die vom W3-Konsortium (W3C) vorgegebenen Standards halten. 1.4 Cascading Style Sheets (CSS) Cascading Style Sheets sind eine unmittelbare Ergänzung zu HTML. Mit StyleSheets kann man die Formateigenschaften von HTML-Befehlen festlegen. So kann man z. B. mit Hilfe von Style-Sheets vorgeben, dass Überschriften der zweiten Stufe immer eingerückt und mit einer Schriftgröße von 16 Punkt in der Schriftart TimesRoman anzuzeigen sind. Wie wir in Kapitel 17 auf Seite 279 sehen werden, bieten Style-Sheets aber noch eine Vielzahl anderer Möglichkeiten, Es existieren mehrere Sprachen zum Definieren von Style-Sheets. Die bekannteste Sprache ist CSS (Cascading Style Sheets), die vom W3-Konsortium, das auch für die Normierung von HTML zuständig ist, vorgeschlagen wird. Zu CSS existieren zwischenzeitlich mehrere Versionen: Version 1.0 (von 1996) und Version 2.0 (1998). Derzeit wird an der dritten Version von CSS beim W3C gearbeitet. Leider unterstützen nicht alle Browser CSS vollständig. Netscape 4.x interpretiert fast den vollen Sprachumfang von CSS 1.0 und einen Teil der Befehle von CSS 2.0. Netscape 6.0 unterstützt CSS 1.0 und CSS 2.0 nahezu vollständig. Der Microsoft Internet-Explorer unterstützt CSS 1.0 ab Priogramm-Version 3.0. In der Version 4.0 unterstützt er einen Teil von CSS 2.0 und einige spezielle, von Microsoft eingeführte Style-Sheet-Angaben. Ab Version 5.5 unterstützt der Microsoft Internet-Explorer CSS 1.0 vollständig und größtenteils auch CSS 2.0 Andere Browser unterstützen meist nur CSS 1.0 oder nur Teile von CSS 1.0 und/oder CSS 2.0. 1.5 XML und XHTML XML (Extensible Markup Language) ist nicht nur einfach eine weitere Sprache, sondern ein neues Konzept für die Datenspeicherung und deshalb nicht nur auf das 3 1 Einleitung Internet zugeschnitten. Die Idee zu XML hatte ebenfalls Tim Berners-Leein den Anfangsjahren der Internet-Euphorie, als er erkannte, dass HTML alleine nicht ausreichen würde, die ständig steigenden Ansprüche zu erfüllen. Es wurde offensichtlich, dass ein Standard geschaffen werden musste, in den HTML, das zwischenzeitlich weitverbreitet war, integriert werden konnte. Im Februar 1998 brachte das W3-Konsortium die erste Empfehlung zu XML (siehe Kapitel 18 auf Seite 411) heraus. Danach bemühte sich das W3-Konsortium, andere vorhandene Metasprachen mit Hilfe von XML zu standardisieren. Eine der wichtigste Sprachen war dabei natürlich HTML, das man mit Hilfe von XML umdefinieren musste. Daraus resultierte das neue auf XML basierende HTML mit dem Namen XHTML 1.0 (Extensible HyperText Markup Language). Seit dem Jahre 2000 liegt XHTML 1.0 als Empfehlung des W3-Konsortiums vor und hat damit den gleichen verbindlichen Stellenwert wie der HTML 4.0-Standard. Browser, die HTML-4.0-Dokumente darstellen können, können meist auch ohne Probleme XHTML-Dokumente richtig darstellen. XHTML entspricht weitgehend dem HTML 4.0-Standard. Allerdings gibt es auch – bedingt durch die XML-Vorschriften – kleinere Unterschiede, die im Kapitel 19 auf Seite 451 vorgestellt werden. 1.6 Einige Internet-Adressen Internet-Adressen zu HTML http://www.w3.org/TR/REC-html32.html HTML 3.2-Spezifikation des W3-Konsortiums http://www.w3.org/TR/html4 HTML 4.x-Spezifikation des W3-Konsortiums http://selfhtml.teamone.de/ SELFHTML von Stefan Münz. Diese hervorrragende deutschsprachige Online-Dokumentation zu HTML ist mehr als empfehlenswert. Internet-Adressen zu Browsern Internet-Adressen des W3-Konsortiums (W3C) http://www.w3.org/ Offizielle Startseite (Homepage) des W3-Konsortiums http://www.w3.org/Consortium/Offices/Germany/ Deutschsprachige Startseite (Homepage) des W3-Konsortiums Internet-Adressen zu Cascading Style Sheets (CSS) http://www.w3.org/TR/REC-CSS1 CSS 1.0-Spezifikation des W3-Konsortiums 4 1.6 Einige Internet-Adressen http://www.w3.org/TR/REC-CSS2 CSS 2.0-Spezifikation des W3-Konsortiums Internet-Adressen zu Cascading (CSS) http://www.w3.org/TR/REC-xml Aktuelle XML-Spezifikation des W3-Konsortiums http://www.w3.org/TR/REC-xhtml1 XHTML 1.0-Spezifikation des W3-Konsortiums http://www.w3.org/TR/REC-xhtml11 XHTML 1.1-Spezifikation des W3-Konsortiums Internet-Adresse zum Buch http://www.susepress.de/de/download/index.html Material zum Download für dieses Buch 5 Kapitel 3 Grundlegendes zu HTML-Dokumenten 3.1 Struktur von HTML-Dokumenten HTML-Dokumente haben einen ganz klar definierten Aufbau. Sie unterteilen sich in: ❏ Head (Dokumentenkopf) Hier befinden sich Anweisungen, die für das ganze Dokument gelten, wie z. B. der Titel des Dokuments. ❏ Body (eigentlicher Inhalt) Hier befindet sich die eigentliche Information in Form von HTML-Anweisungen, die der jeweilige Browser interpretieren und entsprechend darstellen muss. 3.2 Struktur von HTML-Befehlen HTML-Befehle (auch HTML-Tags genannt) haben meist die folgende Syntax: ❏ Sie bestehen – bis auf wenige Ausnahmen – immer aus einem Starttag und einem Endtag. ❏ Die Schlüsselwörter von HTML-Befehlen werden in spitzen Klammern (<>) angegeben. Starttags stehen nur mit Befehlswort in den spitzen Klammern, während man den entsprechenden Endtags einen Slash (/) voranstellt. Ein HTML-Tag wird also üblicherweise – wie nachfolgend gezeigt – angegeben: <tagname> ... Text ... </tagname> Das Start- und Endtag schließen also immer den betreffenden Text ein. Bei einigen Tags kann auf die Angabe des Endtags verzichtet werden, da es aus dem Kontext ersichtlich wird, dass hier das Ende des betreffenden Tags vorliegt. Im folgenden wird auf Tags, die keine Angabe eines Endtags erfordern, gesondert hingewiesen. 11 3 Grundlegendes zu HTML-Dokumenten ❏ Bei HTML-Tags wird nicht zwischen Groß- und Kleinschreibung unterschie- den, wobei es jedoch im Hinblick auf XHTML (auf XML basierendes HTML) empfehlenswert ist, die HTML-Tags immer klein zu scheiben. 3.3 Grundlegende HTML-Tags Einige Tags sind in jedem Dokument von Notwendigkeit, da sie die entsprechenden Abschnitte (Kopf und Inhalt) kennzeichnen. 3.3.1 Das Tag <html> Das Tag <html>...</html> umrahmt das gesamte Dokument und kennzeichnet es somit als HTML-Datei: <html> .... HTML-Dokument </html> 3.3.2 Das Tag <head> Das Tag <head>...</head> markiert den Dokumentenkopf mit seinem Startund Endtag: <html> <head> .... Dokumentenkopf </head> .... Rest der HTML-Datei </html> Die Anweisungen innerhalb des Dokumentenkopfes beziehen sich immer auf das gesamte Dokument. Im Dokumentenkopf kann man z. B. den Dokumenttitel und allgemeine Information zum Dokument angeben, wie z. B. Name des Autors. Der Dokumententitel muss dabei mit den Tags <title>...</title> angegeben werden. 3.3.3 Das Tag <body> Das Tag <body>...</body> umrahmt den eigentlichen Inhalt des Dokuments: <html> <head> .... Dokumentenkopf </head> <body> .... Eigentlicher Inhalt des Dokuments 12 3.4 Ein erstes Beispiel und weitere grundlegende HTML-Konzepte </body> </html> Im Tag <body>...</body> werden der Inhalt des Dokuments und die Tags zur Formatierung und Gestaltung dieses Dokuments angegeben. 3.4 Ein erstes Beispiel und weitere grundlegende HTML-Konzepte Hier wollen wir nun ein erstes HTML-Dokument erstellen, wie es nachfolgend gezeigt ist: <html> <head> <title>Mein erstes HTML-Dokument</title> </head> <body> Dies ist ein einfacher Text, der sich im Dokumentenkoerper befindet. 1. Dateiname endet mit ’.txt’ Wenn ich dieser Datei, in der sich dieser Text befindet, einen Namen gebe, der mit .txt endet, so wird der gesamte Inhalt dieser Datei ohne jegliche Interpretation einfach vom Browser angezeigt. 2. Dateiname endet mit ’.htm’ oder ’.html’ Wenn ich dieser Datei, in der sich dieser Text befindet, einen Namen gebe, der mit .htm oder .html endet, so wird nur der Dokumentenkoerper angezeigt, wobei der Browser oben auch einen Titel anzeigt. </body> </html> Wenn wir diese Datei unter dem Namen htmlerst.txt speichern und diese Datei dann im Browser laden, erhalten wir ein Erscheinungsbild, wie es in Abbildung 3.1 gezeigt ist. Interessant ist an Abbildung 3.1, dass der Browser den gesamten Inhalt der Datei htmlerst.txt – ohne jegliche Interpretation der HTML-Anweisungen – einfach anzeigt. Das liegt daran, dass wir der Datei einen Namen gegeben haben, der mit .txt endet. Dateien, die mit der Endung .txt enden, werden vom Browser als Textdateien identifiziert, deren Inhalt er nicht auswertet, sondern nur einfach anzeigt. Wollen wir, dass der Browser eine Datei als HTML-Datei behandelt und die enthaltenen HTML-Anweisungen auswertet, müssen wir einer solchen Datei immer die Endung .htm bzw. .html geben. Benennen wir also die obige Datei in htmlerst.htm bzw. htmlerst.html um und laden sie dann im Browser, erhalten wir 13 3 Grundlegendes zu HTML-Dokumenten Abbildung 3.1: Browser-Anzeige für Datei htmlerst.txt ein Erscheinungsbild, wie es in Abbildung 3.2 (beim Browser Netscape Navigator) bzw. in Abbildung 3.3 (beim Browser Internet-Explorer) gezeigt ist. Nun interpretiert der Browser zwar die HTML-Anweisungen und zeigt wirklich nur den Dokumentenkörper (aus <body>...</body>) sowie den Titel (aus <title>...</title>) in der obersten Leiste des Browserfensters an. Trotzdem läßt die Formatierung des Textes sehr zu wünschen übrig. Warum das so ist, erklären die folgenden Punkte: Abbildung 3.2: Netscape-Anzeige für Datei htmlerst.htm bzw. htmlerst.html 14 3.4 Ein erstes Beispiel und weitere grundlegende HTML-Konzepte Abbildung 3.3: Internet-Explorer-Anzeige für Datei htmlerst.htm bzw. htmlerst.html ❏ HTML-Anzeigen haben – wenn dies nicht explizit angegeben wird –, keine festen Seitenlängen und Zeilenbreiten. Der Browser bestimmt selbst, wie lang eine Zeile sein darf, und bricht den Text entsprechend um. Ändert man z. B. die Größe des Fensters aus Abbildung 3.2, paßt der Browser den Text automatisch an die neue Fensterbreite an, wie dies in Abbildung 3.4 gezeigt ist. Abbildung 3.4: Browser-Anzeige für Datei htmlerst.htm, nachdem Fenstergröße geändert wurde (links: Netscape; rechts: Internet-Explorer) 15 3 Grundlegendes zu HTML-Dokumenten ❏ In einer HTML-Datei angegebene Leerzeilen, Leerzeichen und Zeilenumbrü- che werden vom Browser einfach ignoriert; sie werden jeweils vom Browser durch ein Leerzeichen ersetzt. 3.5 Sonderzeichen in HTML-Dokumenten Da HTML ursprünglich nur für das englischsprachige Alphabet ausgelegt wurde, mussten für Sonderzeichen, wie z. B. die deutschen Umlaute oder aber für HTML reservierte Zeichen (wie z. B. die spitzen Klammern), eigene Kodierungen eingeführt werden. Für die Kodierung solcher Sonderzeichen gelten die folgenden Konventionen: ❏ Die Sonderzeichen sind entweder als ASCII-Code (z. B. ”) oder als Name (z. B. ö) im HTML-Dokument anzugeben. ❏ Ein solcher „Sonderzeichen-Ausdruck“ muss immer mit einem &-Zeichen be- ginnen und mit einem Semikolon abgeschlossen werden. Tabelle 3.1 zeigt die Kodierungen der wichtigsten Sonderzeichen in HTML. Lädt man die HTML-Datei 3.1 in einem Browser, wird das in Abbildung 3.5 gezeigte Fenster angezeigt. HTML-Datei 3.1 – sonderzeich.htm: Beispiel zu Sonderzeichen in HTML <html> <head> <title>Sonderzeichen</title> </head> <body> Ä=&Auml; Ö=&Ouml; Ü=&Uuml; ä=&auml; Tabelle 3.1: Darstellung von Sonderzeichen in HTML-Dokumenten Zeichen Code Ä Ö Ü ä ö ü ß “ < > Leerzeichen Ä Ö Ü ä ö ü ß " < > (non-breakable space) 16 Kapitel 10 Frames Mit Frames läßt sich der Anzeigebereich des Browsers in mehrere Fenster unterteilen, in denen sich jeweils unterschiedliche HTML-Dokumente anzeigen lassen. 10.1 Tags zum Erzeugen von Frames Um Frames zu erzeugen, werden die beiden folgenden Tags zur Verfügung gestellt: ❏ <frameset>...</frameset> legt die Aufteilung des Browserfensters in einzelne Frames fest. Die einzelnen Frames können dann mit dem folgenden Tag darin eingebettet angegeben werden. ❏ <frame> spezifiziert jeweils einen einzelnen Frame; so wird hier z. B. über das Attribut src= der Pfadname des HTML-Dokuments festgelegt, das hier anzuzeigen ist. Die typische Angabe für Frames sieht somit wie folgt aus: <frameset ...> <frame src="HTML-Datei1"> <frame src="HTML-Datei2"> <frame src="HTML-Datei3"> ... </frameset> Es ist erkennbar, dass die üblichen Tags <html>, <head>, <title> und <body> fehlen. Diese Tags (bis auf <body>) können zwar, müssen aber nicht angegeben werden. Es wäre z. B. auch die folgende Angabe erlaubt: <html> <head> <title>Frames</title> </head> <frameset ...> <frame src="HTML-Datei1"> <frame src="HTML-Datei2"> <frame src="HTML-Datei3"> 137 10 Frames ... </frameset> </html> Hier würde zusätzlich noch ein Titel in der Kopfzeile des Browsers angezeigt. Auf keinen Fall darf nach dem Tag </head> das Tag <body> angegeben werden, um die mit <frameset>...</frameset> definierten Frames als Dokumentenkörper zu kennzeichnen. Das Tag <body> darf in einer Frame-Datei nur innerhalb des Tags <noframes>...</noframes> (siehe auch Kapitel 10.9 auf Seite 172) angegeben werden. 10.2 Vertikal angeordnete Frames Zur vertikalen Aufteilung des Browserfensters in Frames steht das Attribut rows= im Tag <frameset> zur Verfügung. Nach rows= muss dabei in Anführungszeichen für jedes Frame festgelegt werden, wie hoch es sein soll. Die gewünschte Höhe eines Frames kann dabei als Pixel- oder als Prozentwert angegeben werden. Die Angabe eines Sternchens (*) legt fest, dass dieser Frame den Rest des Browserfensters vertikal ausfüllen soll. Wird * mehrmals angegeben, wird der restliche vertikale Abbildung 10.1: Browser-Anzeige (Internet-Explorer) für Datei 10.1 (frame1.htm) 138 10.2 Vertikal angeordnete Frames Platz gleich unter den Sternchen verteilt. Alle Höhenangaben sind mit Kommas voneinander zu trennen. Beispiele für rows-Angaben sind nachfolgend gezeigt: ❏ <frameset rows="30%,70%"> legt fest, dass das erste Frame 30 Prozent und das zweite Frame 70 Prozent der Höhe des Browserfensters belegen soll. ❏ <frameset rows="150,200,80"> legt fest, dass das erste Frame 150 Pixel, das zweite 200 Pixel und das dritte 80 Pixel hoch sein soll. ❏ <frameset rows="20%,40%,*"> legt fest, dass das erste Frame 20 Prozent, das zweite 40 Prozent und das dritte den Rest des Browserfensters (in der Höhe) belegen soll. ❏ <frameset rows="*,40%,*"> legt fest, dass das zweite Frame 40 Prozent, das erste und das dritte Frame jeweils 30 Prozent des Browserfensters (in der Höhe) belegen soll. Abbildung 10.2: Browser-Anzeige (Internet-Explorer) für Datei 10.1 (frame1.htm), nachdem Benutzer in den Frames geblättert und Größe der einzelnen Frames verändert hat 139 10 Frames ❏ <frameset rows="3*,10%,*,2*"> legt fest, dass das zweite Frame 10 Prozent, das erste Frame 45 Prozent, das dritte Frame 15 Prozent und das vierte Frame 30 Prozent des Browserfensters (in der Höhe) belegen soll. Lädt man im Browser die HTML-Datei 10.1, wird z. B. das in Abbildung 10.1 gezeigte Fenster eingeblendet, in dem der Benutzer zum einen mit den eingeblendeten Bildlaufleisten in den Inhalten der einzelnen Frames vor- und zurückblättern kann, und zum anderen auch die Höhe der einzelnen Frames durch Verschieben der Fensterteiler mit der Maus verändern kann; siehe dazu auch Abbildung 10.2. HTML-Datei 10.1 – frame1.htm: Beispiel zu vertikalen Frames <frameset rows="50%,30%,*"> <frame src="aufzaehl5.htm"> <frame src="aufzaehl11.htm"> <frame src="table10.htm"> </frameset> Die in der HTML-Datei 10.1 (frame1.htm) als Frames eingeblendeten HTML-Dokumente finden Sie auf folgenden Seiten: aufzaehl5.htm (auf Seite 47), aufzaehl11.htm (auf Seite 54) und table10.htm (auf Seite 83). Ist bei einem <frame>-Tag kein src= angegeben, zeigt der Browser hierfür einen leeren Frame an. Sind weniger <frame>-Tags vorhanden als im <frameset>-Tag vorgegeben, zeigt der Browser für die fehlenden Angaben leere Frames an. 10.3 Horizontal angeordnete Frames Zur horizontalen Aufteilung des Browserfensters in Frames steht das Attribut cols= im Tag <frameset> zur Verfügung. Nach cols= muss dabei in Anführungszeichen für jedes Frame festgelegt werden, wie breit es sein soll. Die gewünschte Breite eines Frames kann dabei als Pixel- oder als Prozentwert angegeben werden. Die Angabe eines Sternchens (*) legt fest, dass dieses Frame den Rest des Browserfensters horizontal ausfüllen soll. Wird * mehrmals angegeben, wird der restliche horizontale Platz gleich unter den Sternchen verteilt. Alle Breiteangaben sind mit Kommas voneinander zu trennen. Lädt man im Browser die HTML-Datei 10.2, wird z. B. das in Abbildung 10.3 gezeigte Fenster eingeblendet, in dem der Benutzer zum einen mit den eingeblendeten Bildlaufleisten in den Inhalten der einzelnen Frames blättern kann, und zum anderen auch die Breite der einzelnen Frames durch Verschieben der Fensterteiler mit der Maus verändern kann; siehe dazu auch Abbildung 10.4. In dieser HTML-Datei frame2.htm ist erkennbar, dass man auch das gleiche HTML-Dokument (hier table12.htm) in unterschiedlichen Frames anzeigen lassen kann. Ebenso zeigt diese Datei, dass man nicht nur HTML-Dokumente in Frames anzeigen lassen kann, sondern z. B. auch Graphikbilder (hier lausbub.jpg). 140 10.3 Horizontal angeordnete Frames Abbildung 10.3: Browser-Anzeige (Netscape) für Datei 10.2 (frame2.htm) Abbildung 10.4: Browser-Anzeige (Netscape) für Datei 10.2 (frame2.htm), nachdem Benutzer in den Frames geblättert und die Breite der einzelnen Frames verändert hat 141 10 Frames HTML-Datei 10.2 – frame2.htm: Beispiel zu horizontalen Frames <html> <frameset cols="50%,*,200"> <frame src="table12.htm"> <frame src="lausbub.jpg"> <frame src="table12.htm"> </frameset> </html> Das in der HTML-Datei 10.2 (frame2.htm) als Frame eingeblendete HTML-Dokument table12.htm finden Sie auf Seite 86. 10.4 Geschachtelte Frames Frames lassen sich auch beliebig schachteln. Lädt man im Browser die HTMLDatei 10.3, wird z. B. das in Abbildung 10.5 gezeigte Fenster eingeblendet. HTML-Datei 10.3 – frame3.htm: Beispiel zu geschachtelten Frames <html> <head> <title>Geschachtelte Frames</title> </head> <frameset cols="300,*,40%"> <frameset rows="40%,*"> <frame src="table10.htm"> <frame src="lausbub.jpg"> </frameset> <frameset rows="*,200,20%"> <frame src="aufzaehl5.htm"> <frame src="table12.htm"> <frame src="aufzaehl11.htm"> </frameset> <frameset> <frame src="lausbub.jpg"> </frameset> </frameset> </html> Die beiden Attribute rows= und cols= können auch gleichzeitig im Tag <frameset> angegeben werden. Fehlt – wie in den vorherigen Beispielen – eines der beiden Attribute, nimmt der Browser jeweils rows="100%" bzw. cols="100%" an. Mit einer gleichzeitigen Angabe der beiden Attribute rows= und cols= ist ein entsprechendes Layout mit verschieden großen Frames möglich, wie dies in der HTML-Datei 10.4 gezeigt ist. Lädt man diese Datei im Browser, wird z. B. das in Abbildung 10.6 gezeigte Fenster eingeblendet. Verkleinert man dieses Browserfenster, werden die Frames auch entsprechend verkleinert, wie dies in Abbildung 10.7 gezeigt ist. 142 10.4 Geschachtelte Frames Abbildung 10.5: Browser-Anzeige (Internet-Explorer) für Datei 10.3 (frame3.htm) Abbildung 10.6: Browser-Anzeige (Netscape) für Datei 10.4 (frame4.htm) 143 10 Frames Abbildung 10.7: Browser-Anzeige (Netscape) für Datei 10.4 (frame4.htm), nachdem Browserfenster verkleinert wurde HTML-Datei 10.4 – frame4.htm: Weiteres Beispiel zu geschachtelten Frames <html> <head> <title>Gleichzeitige Angabe der Attribute COLS= und ROWS=</title> </head> <frameset rows="70%,*" COLS="25%,33%,*"> <!-- Gesamtfenster: 2 Zeilen (70%, *) und 3 Spalten (25%, 33%, *) --> <!-- ......... Festlegen der 1. Zeile --> <frameset rows="33%,33%,*"> <!-- Frame11: 3 gleiche Zeilen --> <frame src="dat1.htm"> <frame src="dat2.htm"> <frame src="dat3.htm"> </frameset> <frameset rows="50%,*"> <!-- Frame12: 2 gleiche Zeilen --> <frame src="dat4.htm"> <frame src="dat5.htm"> </frameset> <frameset rows="20%,*"> <!-- Frame13: 2 Zeilen (Relation 1:4) --> <frame src="dat6.htm"> <frame src="dat7.htm"> </frameset> <!-- ......... Festlegen der 2. Zeile --> <frameset cols="50%,*"> <frame src="dat8.htm"> <frame src="dat9.htm"> </frameset> 144 <!-- Frame21: 2 gleiche Spalten --> 10.5 Bildlaufleisten bei Frames <frameset cols=33%,33%,*> <!-- Frame22: 3 gleiche Spalten --> <frame src="dat10.htm"> <frame src="dat11.htm"> <frame src="dat12.htm"> </frameset> <!-- Frame23: keinerlei Zuordnung --> </frameset> </html> In den Frames der Datei 10.4 (frame4.htm) werden HTML-Dateien mit dem Namen datx.htm eingeblendet. Diese Dateien haben alle den folgenden Inhalt, wobei jeweils nur eine andere Farbe und eine andere Nummer angegeben ist: <html> <body bgcolor=green> <h1 align=center>Frame 1</h1> </body> </html> 10.5 Bildlaufleisten bei Frames Mit dem Attribut scrolling= kann im Tag <frame> festgelegt werden, ob bei einem Frame eine Scrollbar (Bildlaufleiste) einzublenden ist oder nicht. Tabelle 10.1 zeigt die möglichen Werte für das Attribut scrolling=. Tabelle 10.1: Werte für das Attribut scrolling= beim Tag <frame> scrolling= Auswirkung auto yes Browser entscheidet selbst, ob Scrollbars notwendig sind oder nicht Es werden immer – unabhängig von der Größe des Inhalts – Scrollbars angezeigt Es werden keine Scrollbars angezeigt, selbst wenn der Inhalt zu groß für den Frame ist no Lädt man im Browser die HTML-Datei 10.5, wird z. B. das in Abbildung 10.8 gezeigte Fenster eingeblendet. HTML-Datei 10.5 – frame5.htm: Beispiel zu Bildlaufleisten in Frames <html> <head> <title>Scrollbars bei Frames</title> </head> <frameset cols="33%,33%,*"> <frameset rows="50%,*"> <frame scrolling=auto src="lausbub.jpg"> <frame scrolling=auto src="bubclown.gif"> </frameset> <frameset rows="50%,*"> <frame scrolling=yes src="lausbub.jpg"> 145 10 Frames Abbildung 10.8: Browser-Anzeige (Internet-Explorer) für Datei 10.5 (frame5.htm) <frame scrolling=yes src="bubclown.gif"> </frameset> <frameset rows="50%,*"> <frame scrolling=no src="lausbub.jpg"> <frame scrolling=no src="bubclown.gif"> </frameset> </frameset> </html> 10.6 Frames und Hyperlinks 10.6.1 Hyperlinks auf bestimmte Frames Um HTML-Dateien oder Graphikbilder über Hyperlinks in Frames einblenden zu lassen, müssen den entsprechenden Frames Namen gegeben werden. Dies ist mit den Attributen name= oder id= im Tag <frame> möglich: <frame src="datei" name="NameDesFrames"> <frame src="datei" id="NameDesFrames"> oder Um einen Hyperlink auf eine HTML-Datei oder ein Graphikbild zu erzeugen, muss im Tag <a> beim Attribut href= der Name der entsprechenden HTML- bzw. Graphikdatei angegeben werden. In welchem Frame die betreffende HTML-Datei bzw das Graphikbild anzuzeigen ist, muss mit dem Attribut target= festgelegt wer- 146 10.6 Frames und Hyperlinks den, wobei hier als Wert der Name des entsprechenden Frames anzugeben ist, der mit dem Attribut name= bzw. id= im Tag <frame> festgelegt wurde. Ein Hyperlink für das Einblenden einer HTML-Datei bzw. einer Graphik aus einer Datei in einem bestimmten Frame sieht somit wie folgt aus: <a href="nameDerDatei target=nameDesFrames">Text des Hyperlinks</a> Die HTML-Datei 10.6 erzeugt z. B. zwei horizontal angeordnete Frames, wobei sie dem linken Frame den Namen links und dem rechten Frame den Namen rechts gibt. HTML-Datei 10.6 – frame6.htm: Beispiel zu Hyperlinks und Frames <html> <head> <title>Hyperlinks und Frames</title> </head> <frameset cols="30%,*"> <frame src="verweise.htm" name="links"> <frame src="splogo.gif" name="rechts"> </frameset> </html> Im linken Frame soll der Inhalt der HTML-Datei 10.7 (verweise.htm) und im rechten ein Graphikbild (Logo von SuSE PRESS) angezeigt werden. HTML-Datei 10.7 – verweise.htm: HTML-Datei mit Verweisen <html> <head> <title>Verweise</title> </head> <body> <b>Inhaltsverzeichnis</b><br><br> <a href="table12.htm" target="rechts">Tabelle mit Hintergrundfarbe</a><br><br> <a href="aufzaehl5.htm" target="rechts">Ein Gedicht von Eugen Roth</a><br><br> <a href="lausbub.jpg" target="rechts">Ein Bild von einem Lausbub</a> </body> </html> Die in der HTML-Datei 10.7 (verweise.htm) angegebenen HTML-Dokumente finden Sie auf folgenden Seiten: table12.htm auf Seite 86 und aufzaehl5.htm auf Seite 47. Lädt man im Browser nun die HTML-Datei 10.6 (frame6.htm), wird das in Abbildung 10.9 gezeigte Fenster eingeblendet. Klickt der Benutzer nun z. B. im linken Frame auf den Hyperlink „Ein Gedicht von Eugen Roth“, blendet der Browser ihm im rechten Frame die HTML-Datei 10.5 (aufzaehl5.htm) ein; siehe auch Abbildung 10.10. Klickt der Benutzer nun z. B. im linken Frame auf den Hyperlink „Ein Bild von einem Lausbub“, blendet der Browser ihm das Graphikbild aus der Datei lausbub.jpg ein; siehe auch Abbildung 10.11. 147 Kapitel 11 Formulare HTML bietet auch die Möglichkeit, so genannte Formulare zu erstellen. Formulare enthalten Elemente wie Eingabefelder, Auswahllisten usw., in denen der Benutzer Eingaben vornehmen kann oder bestimmte Auswahlmöglichkeiten hat. Die eingegebenen bzw. ausgewählten Daten können dann natürlich auch über das Internet verschickt werden. 11.1 Allgemeines zu Formularen 11.1.1 Formulardefinition (Tag <form>) Formulare müssen immer mit dem Tag <form>...</form> geklammert sein: <form> ... Formularanweisungen, die das Layout des Formulars festlegen ... </form> Allgemein gilt folgendes für ein Formular: ❏ In einem Formular können neben Steuerelementen (Eingabefelder, Auswahl- listen usw.), die wir in diesem Kapitel noch kennenlernen werden, auch einfache Texte (zur Beschriftung von Elementen) enthalten sein. ❏ Ein Formular kann auch Tags wie z. B. <p>, <b>, <img>, <br> usw. zur For- mulargestaltung enthalten. ❏ Ein HTML-Dokument kann mehrere <form>-Abschnitte enthalten. ❏ Eine Schachtelung von <form>-Tags ist nicht erlaubt. Zur vollständigen Formulardefinition müssen dem Server nun noch weitere Informationen gegeben werden. Diese sind zum einen die Internetadresse (URL), an welche die vom Benutzer eingegebenen Daten gesendet werden sollen, zum anderen muss auch die Übertragungsart definiert werden. 185 11 Formulare 11.1.2 Festlegen der Versandadresse (Attribut action=) Die Versandadresse legt den Ort fest, an den die Benutzereingaben im Formular zu schicken sind. Das Festlegen der Versandadresse ist mit dem Attribut action= im Tag <form> möglich. Es sind verschiedene Arten von Versandadressen möglich, die durch das entsprechende Protokoll festgelegt werden: ❏ http: Der URL adressiert hierbei ein so genanntes CGI-Skript, dem die eingegebenen Benutzerdaten zur Verarbeitung geschickt werden. CGI (Common Gateway Interface) ist ein Standard für CGI-Skripte, die in Sprachen wie PHP, Perl, JavaScript usw. geschrieben sind, um Informationen von HTTP-Servern zu verarbeiten. Später wird dazu in Kapitel 11.5.2 auf Seite 196 ein Beispiel gegeben. ❏ mailto: Hier wird eine E-Mail-Adresse angegeben, an die die eingegebenen Benutzerdaten geschickt werden. 11.1.3 Festlegen der Übertragungsmethode (Attribut method=) Die Übertragungsmethode beschreibt die Art und Weise, wie die Daten zum Server übertragen werden. Das Festlegen der Übertragungsmethode ist mit dem Attribut method= im Tag <form> möglich. Man unterscheidet zwischen zwei verschiedenen Übertragungsmethoden: ❏ method=post Bei dieser Übertragungsmethode werden die Formulardaten in die HTTPAnforderung eingebettet, die dem Server geschickt wird. Dadurch werden die Daten versteckt und nicht für jedermann lesbar im Internet übertragen. Diese Übertragungsmethode wird vom W3C-Standard bevorzugt. Bei Benutzereingaben, die über E-Mail übertragen werden, sollte man diese Methode wählen. ❏ method=get Bei dieser Übertragungsmethode werden die Formulardaten getrennt durch ein Fragezeichen an den URL (von action=) angehängt, bevor der so erweiterte URL an den Server geschickt wird. Eine Formulardefinition könnte z. B. folgendermaßen aussehen: <form action=mailto:[email protected] method=post> ... Formularanweisungen ... </form> Diese Anweisungen definieren ein Formular, das die eingegebenen Benutzerdaten mittels E-Mail an die Adresse [email protected] schickt. 11.2 Eingabefelder Eingabefelder sind Formularfelder, in die der Benutzer Text eingeben kann. Man unterscheidet zwischen einzeiligen und mehrzeiligen Eingabefeldern. 186 11.2 Eingabefelder 11.2.1 Einzeilige Eingabefelder Einzeilige Eingabefelder werden durch das Tag <input> definiert. Dieses Tag kann ausschliesslich innerhalb einer Formulardefinition angegeben werden und besitzt unter anderem die folgenden Attribute: ❏ type=text legt fest, dass ein Eingabefeld einzublenden ist, in dem jeder vom Benutzer eingegebener Text anzuzeigen ist. ❏ type=password legt fest, dass ein Eingabefeld einzublenden ist, in dem der vom Benutzer eingegebene Text nicht anzuzeigen ist. Jedes eingegebene Zeichen wird hier z. B. als Sternchen (*) angezeigt. Diese Form von Eingabefelder dient zur Eingabe von Paßwörtern. ❏ name= legt den Namen des entsprechenden Eingabefelds fest. ❏ size=x legt die Länge des Eingabefelds fest; x gibt dabei die Länge des Eingabefelds in Zeichen an. Ist die Eingabe länger, so wird der bereits eingegebene Text kann links im Eingabefeld weggeschoben. Mit dem Cursor-Steuerzeichen man den weggeschobenen Text wieder im Eingabefeld sichtbar machen. ❏ maxlength=x legt die maximale Länge fest, die ein Text im Eingabefeld haben kann; x gibt dabei die maximale Anzahl von Zeichen an, die im Eingabefeld eingegeben werden können. ❏ VALUE= legt einen Vorgabewert fest, der beim Einblenden des Formulars im Eingabefeld oder bei einem Klick auf den RESET-Button (siehe Kapitel 11.5 auf Seite 200) anzuzeigen ist. Lädt man im Browser die HTML-Datei 11.1, wird das in Abbildung 11.1 gezeigte Fenster eingeblendet, in dem schon einige Eingaben vorgenommen wurden. Abbildung 11.1: Browser-Anzeige für Datei 11.1 (formular1.htm) (links: Netscape, rechts: Internet-Explorer) 187 11 Formulare HTML-Datei 11.1 – formular1.htm: Beispiel zu einem Formular mit einzeiligen Eingabefeldern <html> <head> <title>Formular mit einzeiligen Eingabefeldern</title> </head> <body> <h1>Formular mit einzeiligen Eingabefeldern</h1> <form method=post action="mailto:[email protected]"> Kennwort: <input type=text name="loginname"><br> Passwort: <input type=password name="geheimwort" SIZE=6><br> Alter: <input type=text name="alter" maxlength=2><br> Land: <input type=text name="country" value="Deutschland"><br> Farbe: <input type=text name="farbe" size=8 maxlength=9><br> </form> </body> </html> 11.2.2 Mehrzeilige Eingabefelder Mehrzeilige Eingabefelder (oft auch mehrzeilige Textfelder genannt) kann man mit dem Tag <textarea>...</textarea> einblenden lassen. Sie können zur Eingabe von Bemerkungen oder sonstigem beliebigen Text dienen. Mit dem Attribut name= wird wieder dem mehrzeiligen Textfeld ein Name zugewiesen. Des weiteren muss natürlich auch noch die Größe des Textfeldes festgelegt werden. Dazu stehen die beiden folgende Attribute zur Verfügung: ❏ cols=x: x legt die Breite des Textfelds (in Zeichen) fest. ❏ rows=x: x legt die Höhe des Textfelds (in Zeilen) fest. Lädt man im Browser die HTML-Datei 11.2, wird z. B. das in Abbildung 11.2 gezeigte Fenster eingeblendet, in dem der vorgegebene Text schon angezeigt wird, aber der Benutzer nun noch weiteren Text eintragen kann. Abbildung 11.2: Browser-Anzeige für Datei 11.2 (formular2.htm) (links: Netscape, rechts: Internet-Explorer) 188 Kapitel 17 Cascading Style Sheets Cascading Style Sheets sind eine unmittelbare Ergänzung zu HTML. Mit StyleSheets kann man die Formateigenschaften von HTML-Befehlen festlegen. So kann man z. B. mit Hilfe von Style-Sheets vorgeben, dass Überschriften der zweiten Stufe immer eingerückt und mit einer Schriftgröße von 16 Punkt in der Schriftart TimesRoman anzuzeigen sind. Wie wir in diesem Kapitel sehen werden, bieten StyleSheets aber noch eine Vielzahl von anderen Möglichkeiten, Es existieren mehrere Sprachen zum Definieren von Style-Sheets. Die bekannteste Sprache ist CSS (Cascading Style Sheets), die vom W3-Konsortium, das auch für die Normierung von HTML zuständig ist, vorgeschlagen wird. Diese Sprache CSS wird hier vorgestellt. Zu CSS existieren zwischenzeitlich mehrere Versionen: ❏ Version 1.0 (von 1996) und ❏ Version 2.0 (1998). An den entsprechenden Stellen wird auf Versions-Spezifika hingewiesen. Derzeit wird an der 3. Version von CSS beim W3C gearbeitet. Leider unterstützen nicht alle Browser CSS vollständig. Netscape 4.x interpretiert fast den vollen Sprachumfang von CSS 1.0 und einen Teil der Befehle von CSS 2.0. Netscape 6.0 unterstützt CSS 1.0 und CSS 2.0 nahezu vollständig. Der Microsoft Internet-Explorer unterstützt CSS 1.0 ab seiner Version 3.0. In der Version 4.0 unterstützt er einen Teil von CSS 2.0 und einige spezielle, von Microsoft eingeführte Style-Sheet-Angaben. Ab Version 5.5 unterstützt der Microsoft Internet-Explorer CSS 1.0 vollständig und größtenteils auch CSS 2.0 Andere Browser unterstützen meist nur CSS 1.0 oder nur Teile von CSS 1.0 und/oder CSS 2.0. 17.1 Allgemeines zu Style-Sheets 17.1.1 Definieren von Style-Sheets für eine HTML-Datei Innerhalb eines HTML-Dokuments kann man sich einen Bereich für Style-SheetAngaben definieren. Dazu steht das Tag <style...>...</style> zur Verfügung, das man in den Kopfteil des HTML-Dokuments einbetten muss: 279 17 Cascading Style Sheets <html> <head> .......... <style type="text/css"> <!-... Style-Sheet-Angaben ... //--> </style> .......... </head> <body> .......... </body> </html> Im Tag <style...> muss man dabei den Typ der Formatdefinition angeben, was bei allen hier beschriebenen Formatiermöglichkeiten mit der Angabe type="text/css" möglich ist. Damit Browser, die keine Style-Sheets unterstützen, die Style-Sheet-Angaben nicht als Text ausgeben, gibt man den Bereich der eigentlichen Style-Sheet-Angaben üblicherweise in einem mehrzeiligen HTMLKommentar <!-- ...//--> an. Style-Sheet-Angaben, die im Kopf einer HTMLDatei definiert werden, gelten nur für diese eine HTML-Datei. In XHTML müssen Style-Sheets in einen CDATA-Abschnitt eingebettet werden; siehe auch Kapitel 19.13 auf Seite 457. 17.1.2 Globale Style-Sheets für mehrere Dateien Möchte man einmal definierte Style-Sheets nicht nur in einer Datei benutzen, muss man die betreffenden Style-Sheets in einer eigenen Datei definieren. Jede HTMLDatei, die diese Style-Sheets benötigt, muss dann nur diese „Style-Sheet-Datei“ (CSS-Datei) einbinden. Ändert man in diesem Fall die Angaben in der „Style-SheetDatei“, wirken sich die Änderungen einheitlich auf alle Dateien aus, in denen diese CSS-Datei eingebunden ist. Die CSS-Datei muss eine reine Textdatei sein, deren Name die Endung .css haben sollte. Diese Datei sollte nur Formatdefinitionen und keine HTML-Befehle enthalten. Um eine CSS-Datei in ein HTML-Dokument einzubinden, muss folgende Zeile im Kopfteil angegeben werden: <link rel=stylesheet type="text/css" href="css-datei"> Befindet sich die CSS-Datei in einem anderen Directory bzw. auf einem anderen Server, muss man für css-datei den relativen Pfad bzw. die entsprechende URLAdresse angeben. Nach der <link>-Zeile können noch weitere Style-Sheets definiert werden: <head> ....... <link rel=stylesheet type="text/css" href="css-datei"> <style type="text/css"> <!-- 280 17.1 Allgemeines zu Style-Sheets ... Weitere Style-Sheet-Angaben ... //--> </style> ....... </head> Definiert man in einer HTML-Datei Style-Sheet-Formate, die auch in der eingebundenen CSS-Datei definiert sind, hat die Formatdefinition in der HTML-Datei höhere Priorität als die gleichnamige in der CSS-Datei. So kann man immer wieder verwendete Formate importieren und einige davon mit dateispezifischen Formaten überschreiben. Neben der HTML-Syntax zum Einbinden von CSS-Dateien gibt es auch noch die folgende CSS-Syntax, die das gleiche bewirkt: <html> <head> ....... <style type="text/css"> <!-@import url(css-datei); oder auch: @import "css-datei"; ..... ... Weitere Style-Sheet-Angaben ... //--> </style> ....... </head> Es gibt also zwei Möglichkeiten, CSS-Dateien in einer HTML-Datei einzubinden, entweder über das Tag <link> oder mit @import. CSS 2 legt fest, dass die Browser die eingebundenen Style-Sheets – abhängig von der Art der Einbindung – unterschiedlich behandeln: 1. Bei mehreren mit dem Tag <link> eingebundenen CSS-Dateien sollte der Browser den Benutzer wählen lassen, welche der CSS-Dateien für die Anzeige zu verwenden ist. Bei einer Angabe, wie z. B.: <link rel=stylesheet type="text/css" href=farbig.css title="Anzeige farbig"> <link rel=stylesheet type="text/css" href=sw.css title="Anzeige schwarzweiss"> könnte der Browser z. B. zuerst ein Fenster einblenden, in dem der Benutzer zwischen den beiden Alternativen „Anzeige farbig“ oder „Anzeige schwarzweiss“ auswählen kann, bevor dann die entsprechende CSS-Datei (farbig.css oder sw.css) zur Darstellung des HTML-Dokuments verwendet wird. 2. Bei mehreren mit @import eingebundenen Dateien sollte der Browser ohne Rückfrage beim Benutzer alle angegebenen Style-Sheet-Angaben aus den unterschiedlichen CSS-Dateien zusammenmischen und dann auf das HTMLDokument anwenden. Sind in den CSS-Dateien Style-Sheet-Angaben enthalten, die für eine Eigenschaft unterschiedliche Formatierungen festlegen, überschreibt die zuletzt importierte Formatierungs-Angabe eine zuvor importierte. 281 17 Cascading Style Sheets Es ist jedoch zu erwähnen, dass viele Browser sich zwar an den Punkt 2 halten, aber CSS-Dateien, die mit dem Tag <link> eingebunden werden, genauso behandeln, als ob dies mit @import geschehen sei. 17.1.3 Kaskadieren bei gleichen Style-Sheet-Angaben Cascading Style Sheets sind kaskadierend. Dies bedeutet, dass bei unterschiedlichen Style-Sheet-Angaben für ein und dasselbe Tag die unterschiedlichen Eigenschaften sich ergänzen, während bei gleichen Eigenschaften die zuletzt definierte Eigenschaft eine zuvor definierte Eigenschaft überschreibt. Hat man z. B. die beiden folgenden CSS-Dateien: ❏ CSS-Datei ueber1.htm: h1 { background-color:red; color:white; font-style:bold; font-size:36pt; } ❏ CSS-Datei ueber2.htm: h1 { font-style:italic; } und man lädt die HTML-Datei 17.1 im Browser, wird z. B. das in Abbildung 17.1 gezeigte Fenster eingeblendet, in dem eine Überschrift erster Ordnung kursiv und unterstrichen in weisser Schrift der Größe 36 auf blauem Hintergrund angezeigt wird. HTML-Datei 17.1 – cascad1.htm: Beispiel zur Kaskadierung von CSS-Formaten <html> <head><title>Cascading Style Sheets</title> <style type="text/css"> <!-@import url(ueber1.css); @import url(ueber2.css); h1 { background-color:yellow; text-decoration:underline; } //--> </style> </head> <body> <h1 style="background-color:blue;">Überschrift 1. Ordnung</h1> </body> </html> Abbildung 17.1: Browser-Anzeige für HTML-Datei 17.1 (cascad1.htm) 282 17.1 Allgemeines zu Style-Sheets 17.1.4 Kommentare innerhalb von Style-Sheets Um einen Kommentar in einen Style-Sheet einzufügen, steht eine spezielle an die Programmiersprache C angelehnte Syntax zur Verfügung: /* Kommentar */ Der Kommentar erstreckt sich dabei vom ersten /* bis zum nächsten */, so dass sich ein Kommentar auch über mehrere Zeilen erstrecken kann, wie z. B.: p { color:yellow; } /* Format für gelben Text; neu definiert: 24.7.2002 */ /* Nachfolgend etwas größere Überschrift in weiss auf blauem Hintergrund; sieht ganz nett aus, aber sollte nochmals von unserem Designer begutachtet werden; neu definiert: 12.8.2002 */ h1 { background-color:blue; color:white; font-style:bold; font-size:36pt; } Eine Schachtelung von Kommentaren ist nicht erlaubt. So wäre z. B. die folgende Angabe nicht erlaubt: /* Nachfolgend etwas größere Überschrift in weiss auf blauem Hintergrund; /* neu definiert: 12.8.2002 */ <-- Schachtelung nicht möglich */ h1 { background-color:blue; color:white; font-style:bold; font-size:36pt; } 17.1.5 Style-Sheet-Sprache festlegen Man kann in einer HTML-Datei im Tag <meta...> angeben, welche Definitionssprache bei den Style-Sheet-Definitionen verwendet wird, wie z. B.: <head> ..... <meta http-equiv="Content-Style-Type" content="text/css"> ..... </head> Diese Angabe ist z. Z. bei Verwendung der CSS-Sprache nicht unbedingt erforderlich. Mit der Angabe <meta http-equiv="Content-Style-Type" content="text/css"> legt man fest, dass die CSS-Syntax bei den Style-SheetDefinitionen in dieser Datei verwendet wird. Verwendet man eine andere StyleSheet-Sprache, muss man anstelle von "text/css" den MIME-Typ der entsprechenden Definitionssprache angeben. 17.1.6 Style-Sheets für unterschiedliche Ausgabemedien (CSS 2.0) Einbinden der CSS-Dateien (CSS 2.0) Hier wird vorgestellt, wie man unterschiedliche Style-Sheets für verschiedene Ausgabemedien benutzen kann, indem man für die jeweiligen Ausgabemedien eigene CSS-Dateien erstellt, die man dann einbindet. CSS hat für die unterschiedlichen Ausgabemedien eigene Kennwörter eingeführt, die man beim Attribut media= im Tag <link...> angeben muss, wie z. B.: 283 17 Cascading Style Sheets Tabelle 17.1: Angaben für das Attribut media= media= Style-Sheets, die zu verwenden sind für die Ausgabe screen print aural projection tv handheld braille all am Bildschirm (Voreinstellung) am Drucker am Lautsprecher am Overhead-Projektor am Fernseher an Handys, Palmtops oder ähnliche Geräte mit kleinem Display an taktilen Braille-Medien an allen Medientypen <head> ....... <link rel=stylesheet media="screen" href="bildschirm.css"> <link rel=stylesheet media="print" href="drucker.css"> <link rel=stylesheet media="tv" href="fernseher.css"> ....... </head> Tabelle 17.1 zeigt mögliche Angaben beim Attribut media=. Die Syntax zum Einbinden eigener CSS-Dateien für unterschiedliche Ausgabemedien mit dem Tag <link...> ist HTML-Syntax. Daneben gibt es auch noch eine CSS-Syntax, die das gleiche bewirkt, wie z. B.: <head> ....... <style type="text/css"> <!-@import url(drucker.css) print; @import url(multimedia.css) tv, projection; oder auch: @import "drucker.css" print; @import "multimedia.css" tv, projection; //--> </style> ....... </head> Eine CSS-spezifische Einbindung muss also innerhalb des Tags <style>...</style> folgendermassen angegeben werden: .... @import url(css-datei) medium1, medium2, ...; oder auch: .... @import "css-datei" medium1, medium2, ...; CSS-Definitionen in der HTML-Datei (CSS 2.0) Neben der Möglichkeit, Style-Sheet-Dateien für unterschiedliche Ausgabemedien in HTML einzubinden, kann man auch direkt innerhalb des Tags <sty- 284 17.2 Definieren von Formaten (Style-Sheets) le>...</style> Style-Sheets für die unterschiedlichen Ausgabemedien definieren, wie z. B.: <head> ....... <style type="text/css"> <!-@media print { ... Style-Sheet-Angaben zum Drucken ... } @media screen, tv { ... Style-Sheet-Angaben zur Ausgabe am Bildschirm und Fernseher ... } //--> </style> ....... </head> Die folgende Angabe würde z. B. bewirken, dass am Bildschirm für das HTMLDokument ein weisser Hintergrund gewählt wird, während bei einer Anzeige dieses HTML-Dokuments auf einem Fernseher oder einem Overhead-Projektor ein blauer Hintergrund verwendet wird: <style type="text/css"> <!-body { background-color:white; } @media tv, projection { body { background-color:blue; } } //--> </style> 17.2 Definieren von Formaten (Style-Sheets) 17.2.1 Eigene Formate für HTML-Tags Man kann für HTML-Tags, wie z. B. für <h1>, <h2>, <td>, <p> usw. mit Hilfe von Style-Sheet-Angaben eigene Formate definieren. Verwendet man dann das entsprechende HTML-Tag, werden die selbstdefinierten Formate hierfür verwendet. Lädt man die HTML-Datei 17.2 im Browser, wird z. B. das in Abbildung 17.2 gezeigte Fenster eingeblendet, in dem nun alle Überschriften erster Ordnung kursiv in weisser Schrift der Größe 36 auf blauem Hintergrund angezeigt werden. Absätze und Tabellenzellen werden bei diesem HTML-Dokument in gelber Schrift der Größe 24 auf schwarzem Hintergrund angezeigt. 285 Kapitel 18 Eine kurze Einführung in XML Hier wird eine kurze Einführung in XML gegeben. XML (Extensible Markup Language) ist nicht nur einfach eine weitere Sprache, sondern ein neues Konzept für die Datenspeicherung und deshalb nicht nur auf das Internet zugeschnitten. Die Idee zu XML hatte Tim Berners-Lee, der Vater von HTTP und HTML, in den Anfangsjahren der Internet-Euphorie, als er erkannte, dass HTML alleine nicht ausreichen würde, die ständig steigenden Ansprüche zu erfüllen. Es wurde offensichtlich, dass ein Standard geschaffen werden musste, in den HTML, das zwischenzeitlich weitverbreitet war, integriert werden konnte. Dazu schuf er im Jahre 1994 ein offenes Forum für Entwickler aus den unterschiedlichsten Branchen, in dem dann auch die verschiedensten Ansätze diskutiert wurden. Im Jahre 1996 wurde dann der erste Entwurf zu XML präsentiert. Die Standardisierung von XML unterliegt nun – wie auch bei HTML – dem W3-Konsortium. Im Februar 1998 brachte das W3-Konsortium schließlich die erste Empfehlung zu XML heraus. Danach bemühte sich das W3-Konsortium, andere vorhandene Metasprachen mit Hilfe von XML zu standardisieren. Eine der wichtigste Sprachen war dabei natürlich HTML, das dann auch mit Hilfe von XML zu dem neuen Standard XHTML (siehe Kapitel 19) umdefiniert wurde und auf dieser Basis weiterentwickelt wird. Auch andere Sprachen wie z. B. SVG (Vektorgrafikformat), MathML (Mathematical Markup Language, RDF (Resource Description Framework) und WML (Wireless Markup Language) für Handys wurden mit Hilfe von XML umdefiniert, um sie als software-unabhängige Beschreibungssprachen einsetzen zu können. XML ist ein völlig neuer Ansatz, der die ganze Software-Industrie revolutionieren könnte. Das Ziel von XML ist es nämlich, unabhängige Dateiformate bereitzustellen, so dass sie beliebig zwischen den unterschiedlichen Programmen austauschbar sind. Setzt sich XML z. B. als Dateiformat für Office-Pakete durch, kann ein auf XML basierender Brief mit jedem beliebigen Office-Programm, ob nun mit MicrosoftWord oder mit StarOffice gelesen und editiert werden. Das einzige, was sich dabei noch unterscheiden wird, ist die Bedienoberfläche, die sehr wahrscheinlich auch weiterhin in den unterschiedlichen Programmen verschieden sein wird. Da XML von Anfang universell entworfen wurde, könnte es sich als Standard für die unterschiedlichsten Anwendungen durchsetzen, so dass man je nach Anwendungstyp, 411 18 Eine kurze Einführung in XML wie z. B. Graphik, Datenbanken, Computerspiele, CAD usw., jeweils nur noch ein unabhängiges Dateiformat kennt, das auf XML basiert. Entscheidend bei XML ist, dass Daten und Layout grundsätzlich voneinander getrennt sind. Das gleiche XML-Dokument kann sowohl von einem Browser als Webseite eingeblendet werden, oder aber an einem Drucker ausgegeben werden, da die Daten selbst vom Layout getrennt sind. Die Darstellung der Daten, also das Layout, erfolgt mit Hilfe von Konvertern, die XML-Daten in andere medienabhängige Formate (wie z. B. in HTML oder in Postscript) übersetzen. 18.1 Allgemeines zu XML 18.1.1 Die Metasprache XML XML (Extensible Markup Language) ist eine Metasprache, mit der man Dokumenttypen definieren kann. XML gibt allerdings nur die Regeln vor, die beim Definieren von Dokumenttypen einzuhalten sind. Anders als HTML schreibt XML keine bestimmten Schlüsselwörter mit einer zugeordneten Funktionsweise vor, sondern legt lediglich den Aufbau und die Struktur fest, an die sich jedes XML-Dokument halten muss. Nachfolgend ist ein mögliches Aussehen eines XML-Dokuments gezeigt: <adresse nr="1"> <titel /> <name>Hans Meier</name> <postfach>352</postfach> <wohnort>12345 Musterstadt</wohnort> </adresse> An diesem Beispiel kann man schon die grundsätzliche Struktur von XML-Dokumenten sowie die dahinterliegende XML-Philosophie erkennen: ❏ In XML existieren so genannte Tags (Elemente). Diese Tags in spitzen Klammern (wie z. B. <adresse>) treten immer paarweise auf, wobei das Endtag (wie z. B. </adresse>) den jeweiligen Block beendet. ❏ Tags können beliebig geschachtelt werden. Die Schachtelung entspricht dabei einer Klammerung wie man sie z. B. von der Mathematik her kennt. Dies bedeutet, dass jedes Element auf der Ebene abgeschlossen werden muss, auf der es auch geöffnet wurde. ❏ Leere Elemente können das Endtag gleich mitenthalten (<titel />). ❏ Ein Tag kann Attribute besitzen, wie z. B. eine Kennzeichnung (<adresse nr="1">). ❏ Die Information selbst steht innerhalb des Start- und Endtags, wie z. B. inner- halb von <wohnort>...</wohnort>. Optional kann auch ein Kopfteil angegeben werden, der die XML-Version und den Zeichensatz festlegt, wie das nachfolgend gezeigt ist: <?xml version="1.0" encoding="ISO-8859-1" ?> <adressen> <adresse> 412 18.1 Allgemeines zu XML <name>Hans Meier</name> <postfach>352</postfach> <wohnort>12345 Musterstadt</wohnort> </adresse> <adresse> <title>Dr.</title> <name>Kati Wilhelm</name> <strasse>Waldstr. 17</strasse> <wohnort>54342 Hallenfurt</wohnort> </adresse> </adressen> 18.1.2 Dokumenttyp-Definitionen (DTDs) Die Regeln für erlaubte Elemente, Attribute und Verschachtelungsmöglichkeiten einer XML-Metasprache werden unabhängig von den eigentlichen Daten definiert. Die Vorgabe dieser Regeln nennt man Dokumenttyp-Definition (document type definition, Abkürzung DTD). Ein Dokument, das alle Vorgaben einer DTD erfüllt, bezeichnet man als ein gültiges Dokument. Das Verfahren, um zu überprüfen, ob eine XML-Datei nach den Regeln ihrer zugehörigen DTD fehlerfrei ist, heißt Validierung. Für das vorherige Beispiel könnte eine DTD wie folgt aussehen: <!ELEMENT adressen (adresse)*> <!-- Der Titel kann, muss aber nicht angegeben werden und es ist entweder das Postfach oder die Strasse, aber nicht beides anzugeben --> <!ELEMENT adresse (titel?, name, (postfach | strasse), wohnort)> <!ELEMENT titel (#PCDATA)> <!ELEMENT name (#PCDATA)> <!ELEMENT postfach (#PCDATA)> <!ELEMENT strasse (#PCDATA)> <!ELEMENT wohnort (#PCDATA)> Die Angabe <!ELEMENT adressen (adresse)*> legt fest, dass das Tag <adresse> nur innerhalb von <adressen>...</adressen> angegeben werden darf. Der Stern (*) legt dabei fest, dass innerhalb von <adressen>...</adressen> das Tag <adresse> entweder gar nicht angegeben sein muss, oder aber auch einmal oder mehrmals vorkommen darf. Die Regel <!ELEMENT adresse (titel?, name, (postfach | strasse), wohnort)> legt fest, dass die Tags <titel>, <name>, <postfach>, <strasse> und <wohnort> nur innerhalb von <adresse>...</adresse> angegeben werden dürfen. Der Titel wird in diesem Beispiel als optional festgelegt, was man mit der Angabe des Fragezeichens ? hinter titel erreicht. Die anderen Tags <name>, 413 18 Eine kurze Einführung in XML <postfach>, <strasse> und <wohnort> dagegen müssen immer innerhalb von <adresse>...</adresse> vorhanden sein, wobei allerdings nur eines der beiden Tags <postfach> oder <strasse> angegeben sein darf. Dazu wurden diese beiden alternativen Elementtypen geklammert und mit einem Senkrechtstrich | voneinander getrennt. Eine Definition wie z. B. <!ELEMENT name (#PCDATA)> legt fest, dass es ein Element name gibt, das mit den Tags <name>...</name> eingegrenzt und dessen Inhalt als normaler Text interpretiert wird. Kommentare lassen sich mit <!- -...- -> in der DTD einfügen. 18.1.3 Formatierung für XML-Elemente mit Style-Sprachen XML-Dokumente enthalten lediglich so genannte semantische Markierungen. Eine Markierung wie z. B. <cite>...</cite> legt dabei nicht fest, wie der darin enthaltene Text anzuzeigen ist. In HTML dagegen würde der Browser bei einer Angabe wie <cite>...</cite> den darin angegebenen Text entsprechend hervorgehoben, wie z. B. kursiv, darstellen. In XML dagegen muss man mit Hilfe einer Style-Sprache festlegen, wie die Daten in den entsprechenden Tags zu formatieren sind. Dazu stehen heute zwei Style-Sprachen zur Verfügung: CSS und XSL. CSS (Cascading Style-Sheets), die in Kapitel 17 ausführlich behandelt wurden, dienen lediglich dazu, festzulegen, wie der Browser die Elemente einer XML-Datei darstellen soll. XSL (Extensible Stylesheet Language) auf der anderen Seite ist dagegen wesentlich mächtiger und direkt auf XML zugeschnitten. 18.2 Aufbau und Inhalt von XML-Dateien In diesem Abschnitt wird der typische Aufbau von XML-Dateien gezeigt, und es werden wichtige Regeln vorgestellt, die in XML-Dateien einzuhalten sind. 18.2.1 Typischer Aufbau von XML-Dateien Angaben am Anfang einer XML-Datei Jede XML-Datei sollte sich am Anfang als XML-Datei identifizieren. Dies ist mit folgender einfacher XML-Deklaration am Beginn der Datei möglich: <?xml version="1.0"?> ..... Neben der Versionsangabe kann eine solche XML-Deklaration zwei weitere Attribute enthalten: ❏ encoding= legt verwendeten Zeichensatz fest. ❏ standalone= legt fest, ob die zugehörige DTD sich in dieser ("yes") oder aber in einer anderen Datei ("no") befindet 414 18.2 Aufbau und Inhalt von XML-Dateien Tabelle 18.1: Angaben für das Attribut encoding= encoding= Zeichensatz UTF-8 internationaler Zeichensatz auf Basis der ISO/IEC-10646-Norm mit 8 Bit Zeichenbreite internationaler Zeichensatz auf Basis der ISO/IEC-10646-Norm mit 16 Bit Zeichenbreite (Voreinstellung) ISO-Zeichensatz für westeuropäische Sprachen ISO-Zeichensatz für osteuropäische Sprachen ISO-Zeichensatz für südeuropäische Sprachen ISO-Zeichensatz für nordeuropäische Sprachen ISO-Zeichensatz für kyrillische Sprachen ISO-Zeichensatz für arabische Sprachen ISO-Zeichensatz für griechische Sprache ISO-Zeichensatz für hebräische Sprache ISO-Zeichensatz für türkische Sprache ISO-Zeichensatz für nordische Sprache UTF-16 ISO-8859-1 ISO-8859-2 ISO-8859-3 ISO-8859-4 ISO-8859-5 ISO-8859-6 ISO-8859-7 ISO-8859-8 ISO-8859-9 ISO-8859-10 Nachfolgend ist eine XML-Deklaration gezeigt, in der diese beiden Attribute angegeben sind: <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> ..... Tabelle 18.1 zeigt mögliche Angaben beim Attribut encoding=. Die beiden Attribute standalone= und encoding= sind zwar optional, müssen aber, wenn sie vorhanden sind, in folgender Reihenfolge angegeben werden: version= encoding= standalone= Verarbeitungsanweisungen in einer XML-Datei Manchmal benötigt man innerhalb einer XML-Datei so genannte Verarbeitungsanweisungen (processing instructions) für die Programme, die die XML-Datei verarbeiten, wie z. B.: <?xml version="1.0"?> .... <?xml-stylesheet type="text/css" href="meinstil.css"?> .... 18.2.2 Dokumenttyp-Deklaration Mit einer Dokumenttyp-Deklaration kann man zu einer DTD (Document Type Definition) den Bezug herstellen. Dabei gibt es zwei Möglichkeiten, die hier vorgestellt werden. 415 18 Eine kurze Einführung in XML Dokumenttyp-Deklaration mit interner DTD In diesem Fall befinden sich die DTD-Definitionen innerhalb der DokumenttypDeklaration, wie z. B.: <?xml version="1.0"?> <!DOCTYPE adressen [ <!ELEMENT adressen (adresse)*> <!ELEMENT adresse (titel?, name, (postfach | strasse), wohnort)> <!ELEMENT titel (#PCDATA)> <!ELEMENT name (#PCDATA)> <!ELEMENT postfach (#PCDATA)> <!ELEMENT strasse (#PCDATA)> <!ELEMENT wohnort (#PCDATA)> ]> Die Dokumenttyp-Deklaration beginnt mit <!DOCTYPE.... Danach folgt, durch ein Leerzeichen getrennt, der Name des Dokumenttyps (hier adressen). Der Name des Dokumenttyps muss dabei mit dem Namen des Dokument-Elements, also dem obersten Tag in der XML-Datei, identisch sein. Die eigentlichen DTD-Definitionen müssen dann nach dem Namen des Dokumenttyps in eckigen Klammern angegeben werden. Am Ende muss eine schließende eckige Klammer gefolgt von der abschließenden spitzen Klammer > der Dokumenttyp-Deklaration angegeben werden. Danach können dann die Daten entsprechend der DTD-Definitionen angegeben werden. Definitionen in der DTD werden in Kapitel 18.3 auf Seite 425 näher erläutert. Dokumenttyp-Deklaration mit externer DTD In diesem Fall befinden sich die DTD-Definitionen in einer anderen Datei, deren Pfadnamen (lokal oder im Web) man hier angeben muss, wie z. B.: <?xml version="1.0"?> <!DOCTYPE adressen SYSTEM "../src/adressen.dtd"> .... oder <?xml version="1.0"?> <!DOCTYPE adressen SYSTEM "http://www.xxx.de/meinxml/adressen.dtd"> .... oder <?xml version="1.0"?> <!DOCTYPE adressen PUBLIC "-//Vorlagen Uni//DTD adressen V 1.0//DE" "http://www.xxx.de/vorlage/adressen.dtd"> .... DTD-Dateien haben üblicherweise die Endung .dtd. Die Dokumenttyp-Deklaration beginnt mit <!DOCTYPE.... Danach folgt, durch ein Leerzeichen getrennt, der Name des Dokumenttyps (hier adressen). Die nächste Angabe muss dabei entweder SYSTEM oder PUBLIC sein. Das Wort SYSTEM 416 18.2 Aufbau und Inhalt von XML-Dateien muss man angeben, wenn man den Pfadnamen der DTD explizit angibt. Das Wort PUBLIC muss man angeben, wenn man den Pfadnamen der DTD nicht explizit, sondern durch einen so genannten öffentlichen Bezeichner (public identifier) angibt. Solche Angaben zu einem öffentlichen Bezeichner bestehen aus drei Teilen: 1. Angabe der veröffentlichenden Person oder Institution 2. Bezeichnung der DTD, beginnend mit DTD, gefolgt vom Namen der DTD und einer Versionsangabe 3. Sprache, in der die Namen der Elemente, Attribute usw. in der DTD definiert sind. Hinter der Angabe zum öffentlichen Bezeichner kann man zusätzlich noch – wie im vorherigen Beispiel – die echte Webadresse der DTD angeben. Kommentare Kommentare lassen sich in DTDs – genauso wie in HTML-Dateien – mit <!- -...-> angeben. Ein Kommentartext wird also mit der Zeichenkombination <!- - eingeleitet und mit - -> beendet. Ein Kommentartext darf sich dabei auch über mehrere Zeilen erstrecken, wie z. B.: <!-- Der Titel kann, muss aber nicht angegeben werden und es ist entweder das Postfach oder die Strasse, aber nicht beides anzugeben --> <!ELEMENT adresse (titel?, name, (postfach | strasse), wohnort)> Nach <!-- und vor --> muss sich jeweils mindestens ein Leerzeichen oder ein Zeilenumbruch befinden. Innerhalb von Kommentaren sollte man nicht zwei Bindestriche -- hintereinander angeben. 18.2.3 CDATA-Abschnitte XML-Dokumente dürfen so genannte CDATA-Abschnitte enthalten, die nicht als eine XML-Angabe interpretiert werden. Anders als Kommentare werden solche Bereiche jedoch als eine normale Zeichenfolge ausgegeben. So würden z. B. die beiden folgenden Angaben: <![CDATA[Dieser Text wird einfach als normale Zeichenfolge ausgegeben]]> <![CDATA[<cite>Tags werden <b>nicht</b> ausgewertet]]> zu folgender Ausgabe führen: Dieser Text wird einfach als normale Zeichenfolge ausgegeben <cite>Tags werden <b>nicht</b> ausgewertet 18.2.4 Allgemeine Regeln für Tags, Attribute und Wertzuweisungen Für Tags, Attribute und ihre Wertzuweisungen gelten in XML folgende Regeln: ❏ Namen dürfen nur bestimmte Zeichen enthalten Namen für Tags, Attribute und Entities (siehe Kapitel 18.3.4 auf Seite 440) dürfen folgende Zeichen enthalten: 417 18 Eine kurze Einführung in XML ➢ Groß- und Kleinbuchstaben ➢ Ziffern von 0 bis 9 ➢ Unterstriche (_) ➢ Bindestriche (-) ➢ Punkte (.) ➢ Doppelpunkt (:); der Doppelpunkt ist jedoch auch für Namensräume (siehe Kapitel 18.2.7 auf Seite 422) reserviert. Weitere Regeln für Namen sind: ➢ Das erste Zeichen eines Namens darf keine Ziffer sein, sondern muss ein Buchstabe, ein Unterstrich oder eines der erlaubten Interpunktionszeichen sein. Grundsätzlich empfiehlt es sich aber, dass das erste Zeichen möglichst immer ein Buchstabe, eventuell auch ein Unterstrich ist. ➢ Namen dürfen keine Leerzeichen enthalten. ➢ Namen dürfen nicht mit der Zeichenfolge xml oder XML beginnen, da diese Zeichenfolgen für spätere XML-Versionen reserviert ist. ➢ Namen müssen mindestens einen Buchstaben bzw. Unterstrich enthalten. ➢ Die Länge von Namen ist praktisch unbegrenzt. Nachfolgend sind einige erlaubte und einige unerlaubte Namen gezeigt: <name2-xml> <!-- richtig --> <z1> <!-- richtig --> <haus-hof> <!-- richtig --> <neu-zaehl> <!-- richtig --> <neu zaehl> <!-- falsch (keine Leerzeichen erlaubt) --> <vor=nach> <!-- falsch (Zeichen = nicht erlaubt) --> <1horn> <!-- falsch (Ziffer am Anfang nicht erlaubt) --> <xml-name> <!-- falsch (xml am Anfang nicht erlaubt) --> ❏ XML unterscheidet zwischen Groß-/Kleinschreibung Anders als HTML unterscheidet XML zwischen Groß- und Kleinschreibung. So handelt es sich z. B. bei den beiden folgenden Angaben um zwei verschiedene Tags: <!ELEMENT zitat (#PCDATA)> <!ELEMENT Zitat (#PCDATA)> Dasselbe gilt auch für Attribute, wo man ebenso genau darauf achten muss, wie der Attributname geschrieben ist. So spricht man z. B. bei <adresse land="de"> ein anderes Attribut an als bei <adresse Land="de">. Ebenso wird bei Wertzuweisungen zwischen Groß- und Kleinschreibung unterschieden. So handelt es sich z. B. bei <adresse groesse="riesig"> um eine andere Wertzuweisung als bei <adresse groesse="Riesig">. ❏ Werte müssen bei Zuweisungen immer in ". . . " angegeben sein Bei XML gilt grundsätzlich, dass alle Werte bei Zuweisungen an Attribute in Anführungszeichen stehen müssen, wie z. B.: <adresse groesse="klein"> <!-- so muss es sein --> <adresse groesse=klein> 418 <!-- falsch, da Wert nicht in Anführungszeichen --> 18.2 Aufbau und Inhalt von XML-Dateien Benötigt man innerhalb einer Wertzuweisung an ein Attribut den Apostroph oder das Anführungszeichen, so müssen diese entsprechend kodiert angegeben werden, wie z. B. ' für Apostroph und " für Anführungszeichen (siehe auch Tabelle 18.2 auf Seite 424). ❏ Endtags dürfen niemals weggelassen werden In XML darf niemals, wie z. B. bei den Tags <div> oder <td> in HTML, das zugehörige Endtag weggelassen werden. Ausnahmen sind so genannte leere Tags ohne Inhalt. Solche Elemente können ohne zugehöriges Endtag angegeben werden, müssen jedoch explizit als leer gekennzeichnet werden, wie z. B.: <hr/> oder aber: <hr /> oder aber auch: <hr></hr> <!-- zwischen Anfangstag und Endtag darf kein Leerzeichen stehen --> Eine alleinige Angabe wie <hr> ist nicht erlaubt. 18.2.5 Wohlgeformte und gültige XML-Dokumente Wohlgeformtheit eines XML-Dokuments „Wohlgeformtheit“ ist ein wichtiger Begriff in XML. Ein XML-Dokument ist wohlgeformt, wenn es die Regeln von XML genau einhält. So ist z. B. das folgende XMLDokument wohlgeformt, da für es folgendes gilt: ❏ Es enthält am Anfang eine XML-Deklaration, die den Bezug zu XML herstellt. ❏ Es gibt ein äußerstes Element (auch als Dokument-Element bezeichnet), das alle anderen Datenelemente enthält (<Maerchen>...</Maerchen>). ❏ Es gibt mindestens ein Datenelement (im Beispiel sind es drei: <Maerchen>...</Maerchen>, <Rotkappe>...</Rotkappe> und <Wolf>...</Wolf>) <?xml version="1.0"?> <Maerchen> <Rotkappe stimme="hoch">Warum hast du einen so grossen Mund</Rotkappe> <Wolf stimme="tief">Damit ich dich bessser fressen kann</Wolf> </Maerchen> Dieses XML-Dokument ist zwar wohlgeformt, aber ungültig, da es keine DTD selbst enthält und auch keinen Bezug auf eine Datei angibt, in der sich eine DTD befindet. Gültigkeit und Vollständigkeit eines XML-Dokuments Das folgende XML-Dokument ist gültig: <?xml version="1.0"?> <!DOCTYPE adresse [ 419 Kapitel 20 HTML/XHTML-Kurzreferenz Alphabetische Übersicht der HTML-Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460 Struktur von HTML-Dokumenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463 Kommentare in HTML-Dokumenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463 Tags und Attribute in HTML/XHTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463 Nomenklatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463 Tags für die Struktur eines HTML-Dokuments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463 Tags für den Kopfteil eines HTML-Dokuments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464 Tags zur Dokumentgestaltung und -formatierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 Absätze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 Überschriften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 Formatieren einzelner Textabschnitte (fest, logisch und benutzerdefiniert) . . . . . . . . . . . . . . . . . . . . . . . . . . 465 Zeilenumbrüche und Trennlinien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 Unformatierter Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 Zitate und Adressen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 Zentrieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 Schriftgrößen und -farben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 Kennzeichnen von Änderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 Aufzählungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468 Einfache und numerierte Aufzählungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468 Glossare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468 Tabellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469 Grundlegende Tabellen-Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469 Tabellenbeschriftung und HTML-4-Erweiterungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471 Hyperlinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472 Multimedia-Objekte, Sound und Laufschriften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 Objekte und Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 Multimedia-Tags in Netscape und Internet-Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .474 Graphiken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .475 Graphikbilder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 Image Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .476 Formulare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 Zentrales Formular-Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 Auswahllisten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 Radio- und Checkbuttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 Eingabefelder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 Pushbuttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 Unsichtbare Formularelemente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 Beschriften und Gruppieren von Formularelementen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 Skript-Bereiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 Layout-Erweiterungen von Netscape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 Allgemeine Attribute und ihre möglichen Werte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 Event-Handler-Attribute in HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 Farben in HTML-Dokumenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 Unterschiede zwischen XHTML und HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486 459 20 HTML/XHTML-Kurzreferenz 20.1 Alphabetische Übersicht der HTML-Tags <a>. . . </a> 1 – Hyperlinks (anchors) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472 <abbr>. . . </abbr> – Abkürzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <acronym>. . . </acronym> – Akronym . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <address>. . . </address> – Adressen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 <applet>. . . </applet> – Java-Applets einbinden (Veraltet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474 <area>. . . <area/> – Angaben zu verweissensitiven Bereichen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476 <b>. . . </b> – Fetter Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <basefont>. . . </basefont> – Basisschrift (Veraltet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 <base>. . . <base/> – Voreingestellte Pfad- und Framenamen für Dokument . . . . . . . . . . . . . . . . . . . . . . . 464 <bdo>. . . </bdo> – Andere Sprache oder Schreibrichtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463 <bgsound> – Hintergrund-Sound (I). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .474 <big>. . . </big> – Größerer Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <blink>. . . </blink> – Blinkender Text (N) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <blockquote>. . . </blockqoute> – Zitat als eigener abgesetzter Absatz . . . . . . . . . . . . . . . . . . . . . . . . 466 <body>. . . </body> – beinhaltet den Dokumenteninhalt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463 <br>. . . <br/> – Zeilenumbruch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <button>. . . </button> – Allgemeiner Pushbutton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 <caption>. . . </caption> – Tabellenbeschriftung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 <center>. . . </center> – Zentrieren von HTML-Elementen (Veraltet). . . . . . . . . . . . . . . . . . . . . . . . . . .466 <cite>. . . </cite> – Zitat innerhalb einer Textpassage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <code>. . . </code> – Darstellung von Code (nicht proportionale Schrift) . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <col>. . . <col/> – Angaben für die einzelnen Spalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 <colgroup>. . . </colgroup> – umrahmt eine Spaltengruppe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 <dd>. . . </dd> – Erklärung zum Glossar-Begriff (define definition) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468 <del>. . . </del> – Kennzeichnen gelöschter Elemente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 <dfn>. . . </dfn> – Begriffe (definition) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <dir>. . . </dir> – Verzeichnislisten (Veraltet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468 <div>. . . </div> – Absatz (division); Schachtelung möglich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <dl>. . . </dl> – Glossar (definition list) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468 <dt>. . . </dt> – Glossar-Begriff, der erläutert wird (define term). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468 <em>. . . </em> – Einfache Betonung (emphasis) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <embed> – Multimedia-Dateien einbetten (N; veraltet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474 <fieldset>. . . </fieldset> – Gruppieren mehrerer Formularelemente . . . . . . . . . . . . . . . . . . . . . . . . . 480 <font>. . . </font> – Schriftgröße und -farbe (Veraltet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 <form>. . . </form> – umrahmt ein Formular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 <frame>. . . </frame> – definiert einen Frame innerhalb von <frameset> . . . . . . . . . . . . . . . . . . . . . . . 471 <frameset>. . . </frameset> – umrahmt und definiert Layout für Frames . . . . . . . . . . . . . . . . . . . . . . . 471 <head>. . . </head> – umrahmt den Kopfteil eines HTML-Dokuments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463 <hr>. . . <hr/> – Horizontale Trennlinie (horizontal rule) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 <html>. . . </html> – umrahmt ein HTML-Dokument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463 1 Zur 460 Erklärung der Nomenklatur siehe Kapitel 20.4 auf Seite 463 20.1 Alphabetische Übersicht der HTML-Tags <h1>,<h2>,<h3>,<h4>,<h5>,<h6>. . . </h1>,</h2>,</h3>,</h4>,</h5>,</h6> – Überschriften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <i>. . . </i> – Kursiver Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <iframe>. . . </iframe> – Eingebettete Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471 <ilayer>. . . </ilayer> – Inline-Layer; Netscape 4.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 <img>. . . <img/> – Einfügen von Graphikbildern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 <input type=button>. . . <input/> – Einfacher Pushbutton. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 <input type=checkbox>. . . <input/> – Checkbuttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 <input type=file>. . . <input/> – Pushbutton zum Versenden von Dateien . . . . . . . . . . . . . . . . . . . 479 <input type=hidden>. . . <input/> – Unsichtbare Formularelemente . . . . . . . . . . . . . . . . . . . . . . . . . 480 <input type=image>. . . <input/> – Graphik als SUBMIT-Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 <input type=password>. . . <input/> – Einzeilige Eingabefelder (Texteingabe unsichtbar) . . . . . 478 <input type=radio>. . . <input/> – Radiobuttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 <input type=reset>. . . <input/> – RESET-Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 <input type=submit>. . . <input/> – SUBMIT-Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 <input type=text>. . . <input/> – Einzeilige Eingabefelder (Texteingabe sichtbar) . . . . . . . . . . . . . . 478 <ins>. . . </ins> – Kennzeichnen neu hinzugefügter Elemente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 <isindex>. . . <isindex/> – Suchfunktion für ein Dokument (Veraltet) . . . . . . . . . . . . . . . . . . . . . . . . . . 464 <kbd>. . . </kbd> – Tastatureingaben (keyboard) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <label>. . . </label> – Beschriften einzelner Formularelemente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 <layer>. . . </layer> – Layer; Netscape 4.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 <legend>. . . </legend> – Beschriften einer Gruppe von Formularelementen . . . . . . . . . . . . . . . . . . . . . 480 <li>. . . </li> – Aufzählungpunkte für <ul>, <ol>, <dir> und <menu> (list entry) . . . . . . . . . . 468 <link>. . . <link/> – Bezüge zu anderen Dokumenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464 <listing>. . . </listing> – wie <pre width=132> ohne Interpretation von HTML-Code (Veraltet) . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 <map>. . . </map> – umrahmt die Angaben zu verweissensitiven Bereichen . . . . . . . . . . . . . . . . . . . . . . . . . . 476 <marquee>. . . </marquee> – Horizontaler Lauftext (I) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 <menu>. . . </menu> – Menülisten (Veraltet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468 <meta>. . . <meta/> – Zusatzinformationen zum HTML-Dokument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464 <multicol>. . . </multicol> – Mehrspaltige Anzeige; Netscape 4.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 <nobr>. . . </nobr> – Zeilenumbruch verhindern (I,N) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <noembed>. . . </noembed> – Alternative Anzeige für Browser, die Tag <embed> nicht kennen (N) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474 <noscript>. . . </noscript> – Alternative Bereiche, wenn Skript nicht ausgeführt werden kann . . . 480 <noframes>. . . </noframes> – Anzeige für Browser, die keine Frames unterstützen . . . . . . . . . . . . . . 471 <object>. . . </object> – Objekte einbinden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 <ol>. . . </ol> – Numerierte Aufzählungen (ordered list). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468 <optgroup>. . . </optgroup> – Gruppierung von <option>-Tags in <select>...</select> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 <option>. . . </option> – Listeneintrag in eine Auswahlliste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 <p>. . . </p> – Absatz (paragraph) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <param>. . . <param/> – Parameter für Objekte oder Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474 461 20 HTML/XHTML-Kurzreferenz <pre>. . . </pre> – Nicht proportionale Schrift und Beibehalten von Zeilenumbrüchen und Leerzeichen . . . . . . . . . . . . . . . . . . . 466 <q>. . . </q> – Zitat innerhalb eines Satzes (nicht von allen Browsern unterstützt . . . . . . . . . . . . . . . . . . . 466) <s>. . . </s> – Durchgestrichener Text (Veraltet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <samp>. . . </samp> – Darstellung von Code (nicht proportionale Schrift) . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <script>. . . </script> – Definieren von Skript-Bereichen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 <select>. . . </select> – umrahmt Auswahllisten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 <small>. . . </small> – Kleinerer Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <spacer> – Spacer (Freiräume); Netscape 4.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 <span>. . . </span> – Benutzerdefiniertes Formatieren von Textabschnitten . . . . . . . . . . . . . . . . . . . . . . . . 465 <strike>. . . </strike> – Durchgestrichener Text (Veraltet) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <strong>. . . </strong> – Starke Betonung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <style>. . . </style> – definiert Style-Sheets für Dokument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464 <sub>. . . </sub> – Tiefer gestellter Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <sup>. . . </sup> – Höher gestellter Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <table>. . . </table> – umrahmt eine Tabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469 <tbody>. . . </tbody> – Tabelleninhalt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 <td>. . . </td> – Normale Tabellenzelle (table data) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469 <textarea>. . . </textarea> – Mehrzeilige Eingabefelder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 <tfoot>. . . </tfoot> – Tabellenfuß . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 <thead>. . . </thead> – Tabellenkopf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 <th>. . . </th> – Tabellen-Kopfzelle (table header) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469 <title>. . . </title> – Titel eines Dokuments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .464 <tr>. . . </tr> – Tabellenzeile (table row) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469 <tt>. . . </tt> – Nicht proportionaler Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <u>. . . </u> – Unterstrichener Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <ul>. . . </ul> – Einfache Aufzählungen (unordered list) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468 <var>. . . </var> – Variablennamen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <wbr>. . . <wbr/> – Zeilenumbruch nur bei überlangen Zeilen (I,N) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 <xmp>. . . </xmp> – wie <pre width=80>; aber keine Interpretation von HTML-Code (Veraltet) . . . 466 462 20.2 Struktur von HTML-Dokumenten 20.2 Struktur von HTML-Dokumenten <html> <head> .... Dokumentenkopf </head> <body> .... Eigentlicher Inhalt des Dokuments </body> </html> 20.3 Kommentare in HTML-Dokumenten <!-- Kommentartext --> Nach <!-- und vor --> muss sich mindestens ein Leerzeichen oder ein Zeilenumbruch befinden. Der Kommentartext kann sich über mehrere Zeilen erstrecken. Der Internet-Explorer kennt noch das Tag <comment>...</comment>, um Kommentare in einem HTML-Dokument anzugeben. 20.4 Tags und Attribute in HTML/XHTML Nomenklatur In dieser Kurzreferenz wurde die folgende Nomenklatur gewählt: (I) bedeutet, dass dieses Konstrukt nur im Internet-Explorer verfügbar ist (N) bedeutet, dass dieses Konstrukt nur im Netscape Navigator verfügbar ist (I,N) bedeutet, dass Konstrukt im Internet-Explorer und Netscape Navigator verfügbar ist <tag>. . . </tag> zeigt an, dass hier das Endtag </tag> in HTML nicht angegeben werden muss <tag>. . . </tag> zeigt an, dass hier das Endtag </tag> angegeben werden muss bzw. sollte zeigt an, dass hier in HTML kein Endtag existiert; in XHTML ist hier entweder </tag> oder <tag ... /> anzugeben Bei Verweisen auf nähere Beschreibungen zu bestimmten Attributen ist die entsprechende Seitenzahl, auf der sich die genauere Beschreibung befindet, in Klammern angegeben. <tag>. . . <tag/> Tags für die Struktur eines HTML-Dokuments <html>. . . </html> umrahmt ein HTML-Dokument: dir= <head>. . . </head> umrahmt den Kopfteil eines HTML-Dokuments: lang= dir= version= lang= (482) profile= (482) <body>. . . </body> beinhaltet den Dokumenteninhalt Farben (484): bgcolor= (Hintergrundfarbe), text= (Farbe für Text) Farben für Links (484): link= (nicht besucht), alink= (aktiv), vlink= (besucht) Hintergrundbild: background=url bgproperties="fixed" (I) Feststehender Hintergrund beim Scrollen Rand links bzw. oben in Pixel leftmargin=n (I), topmargin=n (I) class= style= id= title= dir= lang= (482) onClick= onDblClick= onKeyDown= onKeyPress= onKeyUp= onMouseDown= onMouseMove= onMouseOut= onMouseOver= onMouseUp= onload onUnload= (483) <bdo>. . . </bdo> Andere Sprache oder Schreibrichtung: class= style= id= title= dir= lang= (482) <bdo dir=rtl>Von rechts nach links.</bdo> Ab hier wieder von links nach rechts würde bei einem Browser, der das Tag <bdo> unterstützt, wie folgt ausgegeben: .sknil hcan sthcer onV Ab hier wieder von links nach rechts 463 20 HTML/XHTML-Kurzreferenz Tags für den Kopfteil eines HTML-Dokuments (in <head>...</head>) <title>. . . </title> Titel eines Dokuments: dir=, lang= (482) <base>. . . <base/> Voreingestellte Pfad- und Framenamen für Dokument Basis-URL für alle relativen URLs im HTML-Dokument href=url Bei Hyperlinks/Formularen, bei denen Attribut frame= fehlt, wird Zieldokument target=string bzw. Formular automatsch im Frame mit den hier angegebenen Namen angezeigt <style>. . . </style> definiert Style-Sheets für Dokument: dir=, lang=, title= (482) type= media= text/css (Cascading Style Sheet-Angaben) text/javascript (Javascript Style Sheet-Angaben) Style-Sheets für unterschiedliche Ausgabemedien: screen (Bildschirm), print (Drucker), aural (Lautsprecher) projection (Overhead-Projektor), tv (Fernseher), handheld (Handys, Palmtops usw.), braille (taktile Braille-Medien) oder all (alle Medientypen) <meta>. . . <meta/> Zusatzinformationen zum HTML-Dokument: dir=, lang= (482) name=string Typ der Information; Typische Namen hier sind z. B.: author, copyright keywords description date, language generator classification expires Name des Autors der HTML-Datei bzw. Copyright-Hinweise Stichworte (mit Komma getrennt bei content=) für Suchmaschinen Kurze Beschreibung des Dokuments; von Suchmaschinen angezeigt Datum/Zeit der Erstellung des Dokuments bzw. verwendete Sprache Information zu dem Tool, mit dem Dokument erstellt wurde Klassifikation des Dokuments; auch als Kommentar interpretiert Angabe eines Datums, an dem Dokument ungültig wird Informationen, die Server im HTTP-Kopfteil beim Versenden einfügt eigentliche Information zu name= bzw. http-equiv= wählt Vorgabe von <meta>-Angaben aus. Diese Vorgabe sollte sich in Profile-Datei von <head profile=...> (siehe Seite 482) befinden Zeichensatz für Dokument; besser ist es, den Zeichensatz mit charset=string (I) http-equiv= und content= festzulegen <meta http-equiv="refresh" content="5">: aktuelle Dokument alle 5 Sekunden neu laden <meta http-equiv="refresh" content="10; url=webpage">: nach 10 Sek. webpage laden http-equiv=string content=string scheme=string <link>. . . <link/> Bezüge zu anderen Dokumenten href= legt Bezugsdokument fest rel=, rev= rel= legt Beziehung zwischen aktuellen Dokument und Zieldokument fest. rev= legt Beziehung zwischen Zieldokument und aktuellen Dokument fest. next, prev nächstes bzw. vorheriges Dokument in einer Dokumentsammlung head, toc oberstes Dokument bzw. Inhaltsverzeichnis parent, child über- bzw. untergeordnetes Dokument index, glossar Stichwortverzeichnis bzw. Glossar dieses Dokuments Beschriftung, die Browser im entspr. Button anzeigen soll title=string MIME-Typ des Zieldokuments; z. B. bei Bezügen auf Style-Dateien: type=string <link href=meinstil.css rel=stylesheet type=text/css> Name des Fensters bzw. Frames, in dem Zieldokument anzuzeigen ist. Neben eitarget=name genen Namen existieren vordefinierte Namen, um Zieldokument anzuzeigen. . . _self im selben Fenster bzw. Frame (Voreinstellung) _blank in neuem, unbenamten Fenster _parent im übergeordneten Frame; entspricht _self, wenn Frame nicht geschachtelt _top im obersten Fenster und dort alten Inhalt ersetzen Zeichensatzcode (z. B. iso-8859-1) des Zieldokuments charset=code hreflang= Sprache des Zieldokuments (482) Darstellung (mit Kommas getrennt) für Zieldokument: screen Bildschirm media=liste (Voreinst.), print (Drucker), aural (Lautsprecher) projection (OverheadProjektor), tv (Fernseher), handheld (Handys, Palmtops oder ähnliche Geräte mit kleinem Display), braille (taktile Braille-Medien), all (alle Medientypen) class= style= id= title= dir= lang= (482) onClick= onDblClick= onKeyDown= onKeyPress= onKeyUp= onMouseDown= onMouseMove= onMouseOut= onMouseOver= onMouseUp= (483) ❏ Bei <link>-Angaben, die im Kopfteil stehen müssen, sollte Browser Buttons einblenden, die Benutzer leicht in der Dokumentensammlung blättern lassen; in vielen Browsern nicht realisiert. <isindex>. . . <isindex/> Suchfunktion für ein Dokument (Veraltet) prompt=string action=url (I) class= style= 464 Text vor Eingabefeld für Suchbegriffe statt „...Enter search keywords:“ URL für Suchindex; besser <base href=url> im Kopfteil id= title= dir= lang= (482) 20.4 Tags und Attribute in HTML/XHTML Tags zur Dokumentgestaltung und -formatierung Absätze <div>. . . </div> division (Schachtelung möglich) <p>. . . </p> paragraph Text ausrichten: left (linksbündig; Voreinst.); right (rechtsbündig); center (zentriert); justify (justiert); von vielen Browsern nicht unterstützt class= style= id= title= dir= lang= (482) onClick= onDblClick= onKeyDown= onKeyPress= onKeyUp= onMouseDown= onMouseMove= onMouseOut= onMouseOver= onMouseUp= align= ❏ ❏ ❏ (483) Eine Schachtelung von <div>-Tags ist erlaubt. Internet-Explorer kennt noch Attribut <nowrap>. Bei <div nowrap> finden nur dort Zeilenumbrüche statt, wo auch im HTML-Dokument Zeilenvorschübe (Carriage Return) angegeben sind. Innerhalb von <p>...</p> sind folgende Tags erlaubt: Verweise (<a>), Bilder (<img>), Zeilenvorschübe (<br>) und Texthervorhebungen (<b>, <i>, <cite>, <var> usw.; siehe Texthervorhebungen). Werden andere Tags angegeben, beendet der Browser den Absatz. Überschriften <h1>,<h2>,<h3>,<h4>,<h5>,<h6>. . . </h1>,</h2>,</h3>,</h4>,</h5>,</h6> Überschrift ausrichten: left (linksbündig; Voreinst.); right (rechtsbündig); center (zentriert); justify (justiert); von vielen Browsern nicht unterstützt class= style= id= title= dir= lang= (482) onClick= onDblClick= onKeyDown= onKeyPress= onKeyUp= onMouseDown= onMouseMove= onMouseOut= onMouseOver= onMouseUp= align= ❏ (483) In Überschriften können u.a. folgende Tags angegeben werden: Verweisziele (<a>), Bilder (<img>), Zeilenvorschübe (<br>) und Texthervorhebungen (<b>, <i>, <cite>, <var> usw. Formatieren einzelner Textabschnitte ❏ ❏ ❏ Feste Formatierung (Endtags müssen immer angegeben werden) <b>, <i>, <u> Fetter, kursiver bzw. unterstrichener Text </b>, </i>, </u> <big>, <small>, <tt> Größerer, kleinerer bzw. nicht proport. Text </big>, </small>, </tt> <sub>, <sup> Tiefer bzw. höher gestellter Text </sub>, </sup> <blink> (N) Blinkender Text </blink> <s>, <strike> Durchgestrichener Text (Veraltet) </s>, </strike> Logische Formatierung (überlassen Browser die Darstellung; Endtags müssen immer angegeben werden) <abbr>, <acronym> Abkürzung bzw. Akronym </abbr>, </acronym> <cite> Zitat innerhalb einer Textpassage </cite> <code>, <samp> Darstellung von Code (nicht proportionale Schrift) </code>, </samp> <dfn>, <kbd> Begriffe (definition) bzw. Tastatureingaben (keyboard) </dfn>, </kbd> <em>, <strong> Einfache (emphasis) bzw. starke Betonung </em>, </strong> <var> Variablennamen </var> Benutzerdefinierte Formatierung <span>. . . </span> Benutzerdefinierte Formatierung class= style= id= title= dir= lang= (482) onClick= onDblClick= onKeyDown= onKeyPress= onMouseDown= onMouseMove= onMouseOut= onMouseOver= onKeyUp= onMouseUp= (483) Zeilenumbrüche <br>. . . <br/> Zeilenumbruch: class=, style=, id=, title= (482) clear=richtung [left|right|all] (482) <nobr>. . . </nobr> Zeilenumbruch verhindern (I, N) Bei Text, der sich in <nobr>...</nobr> befindet, findet kein automatischer Zeilenumbruch statt. <wbr>. . . <wbr/> Zeilenumbruch nur bei überlangen Zeilen (I, N) ❏ Bei Texten in <nobr>...</nobr> können Zeilenumbrüche immer mit Tag <br> veranlaßt werden. <wbr> bewirkt – anders als <br> – in <nobr>...</nobr> nicht unbedingt einen Zeilenumbruch, sondern nur, wenn die Zeile länger als die Breite des Browserfensters ist. 465 20 HTML/XHTML-Kurzreferenz 20.5 Farben in HTML-Dokumenten Farben können in HTML-Dokumenten auf zwei verschiedene Arten angegeben werden: als Farbname (wie z. B. red, yellow, green usw.) oder als sechsstellige Hexadezimalzahl, die den so genannten RGB-Wert festlegt. RGB-Farben Um eine Farbe in einem HTML-Dokument anzugeben, kann man statt eines vordefinierten Farbnamens (wie z. B. red, blue oder white) auch den Wert der Mischfarbe explizit angeben. Ein solcher Farbwert ist als Hexadezimalzahl #rrggbb (mit sechs Hexadezimalziffern für den 24-Bit Wert) anzugeben. Für die beiden Ziffern rr ist also der Beitrag der Farbe rot zur Mischfarbe im Bereich von 0 bis 255 (entspricht 00 bis FF im Hexadezimalsystem) anzugeben. Dasselbe gilt für gg (Beitrag von Grün) und bb (Beitrag von Blau). So legt z. B. der Wert #00FF00 die Farbe Grün und der Wert #0000FF die Farbe Blau fest. Vordefinierte Farbnamen Abbildung 20.1 zeigt die 16 in HTML/XHTML vordefinierten Farbennamen. Abbildung 20.1: Vordefinierte Farbnamen mit ihren RGB-Werten Standard-Farben Auf Systemen, die nur 256 Farben anzeigen können, werden Farben, die nicht darstellbar sind, entweder in eine auf dem System darstellbare Farbe konvertiert oder es wird ein Verfahren namens dithering angewendet, bei dem die angeforderte Farbe durch nebeneinanderliegende Pixeln mit vorhandenen Farben versucht wird, nachzubilden. Beim dithering muss man natürlich Qualitätsverluste in Kauf nehmen. Bei der Konvertierung dagegen wird eine existierende Farbe genommen, die der angeforderten Farbe am nächsten liegt. 484 20.5 Farben in HTML-Dokumenten Die Standard-Farbpalette umfasst 216 Farben, wobei jeweils sechs Varianten für Rot, Grün und Blau angeboten werden, die beliebig kombiniert werden können, so dass sich die Zahl 216 (6 x 6 x 6) ergibt. Abbildung 20.2 zeigt die Standard-Farbpalette der 216 Farben. Die sechs Varianten jeder RGB-Komponente haben dabei die hexadezimalen Werte 00, 33, 66, 99, CC und FF, was den dezimalen Werten 0, 51, 102, 153, 204 und 255 entspricht. Farben wie 006666 (dunkelgrün) und FF66FF (lila) existieren direkt in der StandardFarbpalette und müssen weder konvertiert noch mit dem dithering-Verfahren nachgebildet werden. Es ist also empfehlenswert, Farben aus dieser Standard-Farbpalette zu benutzen. Abbildung 20.2: Standard-Farbpalette der 216 Farben 485 Index Symbole <" doctype> Tag . . . . . . 217 <a> Tag . . . . 115, 146, 472 <abbr> Tag . . . . . . . . . . 465 <acronym> Tag . . . . . . 465 <address> Tag . . . 34, 466 <applet> Tag . . . . 242, 474 <area> Tag . . . . . . 211, 476 <b> Tag . . . . . . . . . . 27, 465 <base> Tag . . . . . 228, 464 <basefont> Tag . . . 36, 467 <bdo> Tag . . . . . . . . . . . 463 <bgsound> Tag . 247, 474 <big> Tag . . . . . . . . 28, 465 <blink> Tag . . . . . . 29, 465 <blockquote> Tag 30, 466 <body> Tag . . . . . . 12, 463 <br> Tag . . . . . . . . . 23, 465 <button> Tag . . . 202, 479 <caption> Tag . . . . 78, 470 <center> Tag . 25, 83, 466 <cite> Tag . . . . . . . . 30, 465 <code> Tag . . . . . . 32, 465 <col> Tag . . . . . . . . 96, 470 <colgroup> Tag . . 96, 470 <comment> Tag . . . . . 463 <dd> Tag . . . . . . . . 57, 468 <del> Tag . . . . . . . . . . . 467 <dfn> Tag . . . . . . . . . . . 465 <dir> Tag . . . . . . . . 57, 468 <div> Tag . . . . . . . . . . . 289 <div> Tag . . . 24, 465, 492 <dl> Tag . . . . . . . . . 57, 468 <dt> Tag . . . . . . . . . 57, 468 <em> Tag . . . . . . . . 27, 465 <embed> Tag . . . 244, 474 <fieldset> Tag . . . 206, 480 <font> Tag . . . . 36, 37, 467 <form> Tag . . . . . 185, 477 <frame> Tag . . . . 137, 471 <frameset> Tag . 137, 471 <h1> Tag . . . . . . . . . 21, 465 <h2> Tag . . . . . . . . . 21, 465 <h3> Tag . . . . . . . . . 21, 465 <h4> Tag . . . . . . . . . 21, 465 <h5> Tag . . . . . . . . . 21, 465 <h6> Tag . . . . . . . . . 21, 465 <head> Tag . . . . . . 12, 463 <hr> Tag . . . . . . . . . 61, 466 <html> Tag . . . . . . 12, 463 <i> Tag . . . . . . . . . . 27, 465 <iframe> Tag . . . 177, 471 <ilayer> Tag . . . . 278, 481 <img> Tag . . . . . . . . . . . 101 <img> Tag . . . 46, 90, 210, 246, 475 <input> Tag . . . . . . . . 187, 191–193, 196, 200–202, 204, 478–480 <ins> Tag . . . . . . . . . . . . 467 <isindex> Tag . . . 229, 464 <kbd> Tag . . . . . . . 32, 465 <label> Tag . . . . . 206, 480 <layer> Tag . . . . . 267, 481 <legend> Tag . . . 206, 480 <li> Tag . . . . . . 43, 49, 468 <link> Tag . 228, 280, 283, 464, 490, 491 <listing> Tag . . . . . . . . 466 <map> Tag . 210, 211, 476 <marquee> Tag . 247, 475 <menu> Tag . . . . . 57, 468 <meta> Tag 218, 283, 464, 491 <multicol> Tag . . 265, 481 <nobr> Tag . . . . . . 40, 465 <noembed> Tag . 245, 474 <noframes> Tag 172, 471 <noscript> Tag . . 256, 480 <object> Tag . . . . 232, 473 <ol> Tag . . . . . . . . . 49, 468 <optgroup> Tag . . . . . 477 <option> Tag . . . 190, 477 <p> Tag . . . . . . . . . . 24, 465 <param> Tag . . . 236, 474 <pre> Tag . . . . . . . . 32, 466 <q> Tag . . . . . . . . . . . . . 466 <s> Tag . . . . . . . . . . . . . 465 <samp> Tag . . . . . . 32, 465 <script> Tag . . . . 251, 480 <select> Tag . . . . 189, 477 <small> Tag . . . . . . 28, 465 <spacer> Tag . . . 263, 481 <span> Tag 301, 304, 465, 495, 496 <strike> Tag . . . . . 29, 465 <strong> Tag . . . . . 27, 465 <style> Tag 279, 280, 464, 490 <sub> Tag . . . . . . . 29, 465 <sup> Tag . . . . . . . 29, 465 <table> Tag . . . . . . 67, 469 <tbody> Tag . . . . . 92, 470 <td> Tag . . . . . . . . . 67, 469 523 Index <textarea> Tag . . 188, 478 <tfoot> Tag . . . . . . 92, 470 <th> Tag . . . . . . . . . 78, 469 <thead> Tag . . . . . 92, 470 <title> Tag . . . . . . . 12, 464 <tr> Tag . . . . . . . . . 67, 469 <tt> Tag . . . . . . . . . . 32, 465 <u> Tag . . . . . . . . . . 27, 465 <ul> Tag . . . . . . . . . 43, 468 <var> Tag . . . . . . . . 32, 465 <wbr> Tag . . . . . . . 40, 465 <xmp> Tag . . . . . . . . . . 466 Überschriften . . . . 21, 465 Ausrichtung . . . . . . . . 22 Größe . . . . . . . . . . . . . . 21 Graphik . . . . . . . . . . . 113 Stufe . . . . . . . . . . . . . . . 21 Übung homepage1.htm . . . 20 homepage10.htm 215 homepage2.htm . . . 41 homepage3.htm . . . 58 homepage5.htm . . . 99 homepage6.htm . 113 homepage7.htm . 133 homepage8.htm . 207 homepage9.htm . 182 media3.htm . . . . . . 249 A Abkürzung . . . . . . . . . . 465 Absatz . . . . . . . . . . . 24, 465 Ausrichten . . . . . 24, 465 Zentrieren . . . . . 25, 466 ActiveX-Controls . . . . 240 Adress-Darstellung . . 34, 466 Adresse . . . . . . . . . . 34, 466 Akronym . . . . . . . . . . . . 465 Applets 235, 242, 473, 474 Aufzählung . . . . . . 43, 468 Einfach . . . . . . . . 43, 468 Glossar . . . . . . . . 57, 468 Menülisten . . . . 57, 468 Numeriert . . . . . 49, 468 Verzeichnislisten . . . 57, 468 Auswahllisten . . 189, 477 524 B Bilder siehe Graphik . . . . . . 90 Blinkende Schrift . 29, 465 Button Check- . . . . . . . . 192, 478 Graphik- . . . . . . 201, 479 Pushbutton . . . 202, 479 Radio- . . . . . . . . 191, 478 RESET- . . . . . . . 200, 479 SUBMIT- . 193, 196, 479 C Cascading Style-Sheets siehe CSS . . . . . . . . . . 279 Checkbutton . . . . 192, 478 Client-Pull-Dokument . . . 224 Client-Server . . . . . . . . . . 7 Code . . . . . . . . 32, 465, 466 Code-Darstellung 32, 465 Courier-Schrift . . . 32, 466 CSS . . . . . . . . . . . . . 279, 489 <div> Tag . . . . 289, 492 <link> Tag . . . . 280, 490 <meta> Tag . . . 283, 491 <span> Tag . . 301, 304, 495, 496 <style> Tag . . 279, 280, 490 Übergroße Elemente . . . 388, 506 Abstand (innen) . . 346, 503 Anzeigebereich eingrenzen . 387, 506 Attribut-orientierte Formate . . . . 295, 494 Ausgabemedium . 283, 491 Bildlaufleiste . 400, 507 Breite . . . . . . . . . 383, 505 Definieren (global) 280, 490 Definieren (lokal) . 279, 490 Direkte Formate . . 303, 496 Eigenschaften . 310, 498 Farbangaben . . 307, 497 Format . . . . . . . 285, 492 -Unterklassen . . 287, 492 Attribut-orientiert . 295, 494 Direkt . . . . . . . . . 303, 496 einzelne Tags . . 303, 496 geschachtelt . . . 289, 493 Pseudo- . . . 299, 374, 495 Text . . . . . . . . . . . . 304, 496 unabhängig . . . . 297, 494 geschachtelte Formate . 289, 493 Groß-/Kleinschreibung 319, 499 Höhe . . . . . . . . . 383, 505 Hintergrund Bild . . . . . . . . . . . . 349, 503 Farbe . . . . . . . . . . 347, 503 Innenabstand . 346, 503 Klein-/Großschreibung 319, 499 Kommentar . . . 283, 490 Layout . . . . . . . . 395, 508 Listen . . . . . . . . . 359, 501 Aufzählungssymbol . . . . 359, 365, 501 Numerierungsart . . 359, 501 Maßangaben . . 305, 496 Mausform . . . . 398, 507 Platzhalter . . . . 390, 506 Positionieren . 380, 505 Pseudoformate . . . 299, 374, 495 Rahmen . . . . . . 332, 502 Dicke . . . . . . . . . . 333, 502 Farbe . . . . . . . . . . 340, 502 Typ . . . . . . . . . . . . 336, 502 Randabstand . 322, 500 Schichten . . . . . 384, 505 Schrift . . . . . . . . 310, 498 Art . . . . . . . . . . . . 314, 498 Dehnung . . . . . . 316, 499 Gewicht . . . . . . . 311, 498 Größe . . . . . . . . . . 312, 498 Laufweite . . . . . . 316, 499 Stil . . . . . . . . . . . . 310, 498 Variante . . . . . . . 311, 498 Index Scrollbar . . . . . . 400, 507 Seite Größe . . . . . . . . . . 395, 508 Layout . . . . . . . . . 395, 508 Ränder . . . . . . . . 395, 508 Umbruch . . . . . . 395, 508 Sound . . . . . . . . 402, 510 Sprachausgabe 402, 510 Sprache festlegen . 283, 491 Style-Sheets . . . 310, 498 Tabellen . . . . . . 366, 504 Text -umbruch . . . . . . 331, 500 ausrücken . . . . . 327, 500 ausrichten (horizontal) . 330, 500 ausrichten (vertikal) . . . . 328, 500 Dekoration . . . . 318, 499 einrücken . . . . . . 327, 500 Farbe . . . . . . . . . . 320, 499 Fluß . . . . . . . . . . . 385, 505 Formatierung . . 304, 496 Schatten . . . . . . . 321, 499 Unabhängige Formate . 297, 494 Wortabstand . . 317, 499 Zeichenabstand . . . 316, 499 Zeilenhöhe . . . 321, 500 D Dokument Client-Pull . . . . . . . . 224 Header . . . . . . . . . . . . 217 Inhalt . . . . . . . . . . . . . 220 Kopfteil . . . . . . . . . . . 217 Name . . . . . . . . . . . . . 220 Server-Push . . . . . . . 226 Stichwörter . . . . . . . . 221 Suchinfos . . . . . . . . . 221 Suchprogramme . . 221 Typ . . . . . . . . . . . . . . . 217 Zusatzinformationen . . 218 Durchgestrichene Schrift 29, 465 E Event-Handler . . 257, 483 F Farben . . . . . . . . . . . 17, 484 Standard . . . . . . . 19, 484 Farbige Schrift . . . 36, 467 Fette Schrift . . . . . . 27, 465 file-Protokoll . . . . . . . . 128 Flash-Dateien . . . . . . . 238 Formular . . . . . . . 185, 477 Übertragungsmethode 186, 477 Auswahllisten 189, 477 Beschriftung . . 206, 480 Checkbutton . . 192, 478 Dateiauswahl-Box 202, 479 Definition . . . . . 185, 477 Eingabefelder (einzeilig) . . 187, 478 Eingabefelder (mehrzeilig) 188, 478 Filedialog-Box 202, 479 Graphikbutton 201, 479 Gruppierung . 206, 480 Pushbutton . . . 202, 479 Radiobutton . . 191, 478 RESET-Button 200, 479 Senden von Dateien . . . 202, 479 SUBMIT-Button . . . 193, 196, 479 Unsichtbare Elemente . 204, 480 Versandadresse . . . 186, 477 Frames . . . . . . . . . 137, 471 <noframes> Tag . . 172, 471 _blank . . . . . . . . . . . . 153 _parent . . . . . . . . . . . . 153 _self . . . . . . . . . . . . . . . 153 _top . . . . . . . . . . . . . . . 154 Abstände . . . . . . . . . . 165 Bildlaufleiste . . . . . . 145 Eingebettet . . . 177, 471 feste Größe . . . . . . . . 171 Geschachtelt . . . . . . 142 Horizontal . . . . . . . . 140 Hyperlinks . . . . . . . . 146 Konfiguration . . . . . 158 Rahmen . . . . . . . . . . . 167 Rahmen (farbig) . . . 169 Scrollbars . . . . . . . . . 145 Vertikal . . . . . . . . . . . 138 vordefinierte Namen . . 153 ftp-Protokoll . . . . . . . . 129 G Glossar . . . . . . . . . . 57, 468 gopher-Protokoll . . . . 132 Größere Schrift . . . 28, 465 Graphik . . . . . . . . 101, 475 Überschrift . . . . . . . . 113 Abstände . . . . . . . . . . 109 Alternativer Text . . 103 Ausrichten . . . . . . . . 107 Beschriften . . . . . . . . 108 Hintergrundbild . . 112 Hyperlinks . . . 122, 123, 125 Image Maps . . 209, 476 Rahmen . . . . . . . . . . . 111 Skalieren . . . . . . . . . . 104 Tabellenzellen . . . . . . 90 Verweissensitiv . . . 209, 234, 476 Graphikbutton . . 201, 479 H Header . . . . . . . . . . . . . . 217 Hochgestellte Schrift . 29, 465 HTML . . . . . . . . . . . . . . . . . 7 HTML-Befehl Struktur . . . . . . . . . . . . 11 HTML-Datei absatz.htm . . . . . . . 24 absatz2.htm . . . . . 25 absatz3.htm . . . . . 26 address.htm . . . . . 35 aufzaehl1.htm . . . 44 aufzaehl10.htm . 53 aufzaehl11.htm . 54 aufzaehl12.htm . 55 aufzaehl13.htm . 57 525 Index aufzaehl2.htm . . . 44 aufzaehl3.htm . . . 46 aufzaehl4.htm . . . 47 aufzaehl5.htm . . . 47 aufzaehl6.htm . . . 49 aufzaehl7.htm . . . 50 aufzaehl8.htm . . . 51 aufzaehl9.htm . . . 52 bdo.htm . . . . . . . . . . 463 beforeafter.htm . . . 378 bestell.htm . . . . 254 cascad1.htm . . . . 282 code.htm . . . . . . . . . 34 colgroup.htm . . . . 96 colgroup2.htm . . . 97 collapse.htm . . . 371 css1.htm . . . . . . . . 286 css10.htm . . . . . . . 308 css11.htm . . . . . . . 311 css12.htm . . . . . . . 314 css13.htm . . . . . . . 315 css14.htm . . . . . . . 316 css15.htm . . . . . . . 318 css16.htm . . . . . . . 318 css17.htm . . . . . . . 320 css18.htm . . . . . . . 320 css19.htm . . . . . . . 322 css2.htm . . . . . . . . 287 css20.htm . . . . . . . 324 css21.htm . . . . . . . 325 css22.htm . . . . . . . 327 css23.htm . . . . . . . 329 css24.htm . . . . . . . 330 css25.htm . . . . . . . 331 css26.htm . . . . . . . 334 css26a.htm . . . . . . 335 css27.htm . . . . . . . 337 css28.htm . . . . . . . 338 css28a.htm . . . . . . 339 css29.htm . . . . . . . 341 css29a.htm . . . . . . 342 css29b.htm . . . . . . 343 css3.htm . . . . . . . . 289 css30.htm . . . . . . . 344 css31.htm . . . . . . . 346 css32.htm . . . . . . . 348 css33.htm . . . . . . . 350 css34.htm . . . . . . . 352 526 css35.htm . . . . . . . 354 css35a.htm . . . . . . 356 css36.htm . . . . . . . 357 css36a.htm . . . . . . 358 css37.htm . . . . . . . 361 css37a.htm . . . . . . 362 css38.htm . . . . . . . 364 css39.htm . . . . . . . 365 css4.htm . . . . . . . . 290 css40.htm . . . . . . . 366 css41.htm . . . . . . . 368 css42.htm . . . . . . . 377 css43.htm . . . . . . . 381 css44.htm . . . . . . . 382 css45.htm . . . . . . . 383 css46.htm . . . . . . . 384 css47.htm . . . . . . . 386 css48.htm . . . . . . . 388 css4a.htm . . . . . . . 292 css4b.htm . . . . . . . 293 css5.htm . . . . . . . . 297 css5a.htm . . . . . . . 299 css6.htm . . . . . . . . 299 css6a.htm . . . . . . . 302 css7.htm . . . . . . . . 303 css8.htm . . . . . . . . 304 css9.htm . . . . . . . . 306 cssattrib.htm . 295 cursor.htm . . . . . . 398 display1.htm . . . 393 display2.htm . . . 394 emptycell.htm . 373 events.htm . . . . . . 258 farbbalk.htm . . . 107 flagliste.htm . 151 font1.htm . . . . . . . . 36 font2.htm . . . . . . . . 38 font3.htm . . . . . . . . 38 font4.htm . . . . . . . . 39 formular1.htm . 188 formular2.htm . 189 formular3.htm . 190 formular4.htm . 193 formular5.htm . 194 formular6.htm . 202 formular6.php . 197 formular7.htm . 203 formular8.htm . 205 frame1.htm . . . . . . 140 frame10.htm . . . . 160 frame11.htm . . . . 166 frame12.htm . . . . 168 frame13.htm . . . . 168 frame14.htm . . . . 170 frame15.htm . . . . 171 frame16.htm . . . . 172 frame17.htm . . . . 179 frame18.htm . . . . 180 frame2.htm . . . . . . 142 frame3.htm . . . . . . 142 frame4.htm . . . . . . 144 frame5.htm . . . . . . 145 frame6.htm . . . . . . 147 frame7.htm . . . . . . 150 frame8.htm . . . . . . 154 frame9.htm . . . . . . 158 graphik1.htm . . . 102 graphik10.htm . 113 graphik2.htm . . . 104 graphik3.htm . . . 105 graphik4.htm . . . 105 graphik5.htm . . . 108 graphik6.htm . . . 109 graphik7.htm . . . 110 graphik8.htm . . . 111 graphik9.htm . . . 112 homepage1.htm . . . 20 homepage10.htm 215 homepage2.htm . . . 41 homepage3.htm . . . 58 homepage5.htm . . . 99 homepage6.htm . 113 homepage7.htm . 133 homepage8.htm . 207 homepage9.htm . 182 htmlerst.htm . . . . 13 htmlerst2.htm . . . 23 htmlfarbe.htm . . . 18 hyper1.htm . . . . . . 116 hyper2.htm . . . . . . 119 hyper3.htm . . . . . . 121 hyper4.htm . . . . . . 122 hyper5.htm . . . . . . 123 hyper6.htm . . . . . . 124 hyper7.htm . . . . . . 128 hyper8.htm . . . . . . 130 hyper9.htm . . . . . . 132 Index hyperinline.htm . . . 127 hypmehrframes.htm 162 imagmap1.htm . . . 211 insdel.htm . . . . . . 467 label.htm . . . . . . . 206 layer1.htm . . . . . . 268 layer2.htm . . . . . . 270 layer3.htm . . . . . . 270 layer4.htm . . . . . . 271 layer5.htm . . . . . . 273 layer6.htm . . . . . . 274 layer7.htm . . . . . . 275 layer8.htm . . . . . . 276 layer9.htm . . . . . . 278 linie1.htm . . . . . . . 61 linie2.htm . . . . . . . 62 linie3.htm . . . . . . . 64 linie4.htm . . . . . . . 65 linie5.htm . . . . . . . 65 margin.htm . . . . . . 323 media1.htm . . . . . . 245 media2.htm . . . . . . 245 media3.htm . . . . . . 249 mehrspalt.htm . . . 71 meta1.htm . . . . . . . 219 meta2.htm . . . . . . . 222 meta3.htm . . . . . . . 224 meta4.htm . . . . . . . 225 meta5.htm . . . . . . . 226 meta5a.htm . . . . . . 226 meta5b.htm . . . . . . 226 multicol.htm . . . 266 mwst.htm . . . . . . . . 253 nobr.htm . . . . . . . . . 40 noscript.htm . . . 256 object1.htm . . . . 232 object2.htm . . . . 234 object3.htm . . . . 236 object4.htm . . . . 236 object4a.htm . . . 237 object5.htm . . . . 238 object6.htm . . . . 240 object7.htm . . . . 241 overflow.htm . . . 390 pseudo.htm . . . . . . 375 rechner.htm . . . . 259 rechner2.htm . . . 261 rgbapplet.htm . 243 scrollbar.htm . 401 sonderzeich.htm 16 spacer.htm . . . . . . 264 tablayout.htm . 369 table1.htm . . . . . . . 67 table10.htm . . . . . 83 table11.htm . . . . . 85 table12.htm . . . . . 86 table13.htm . . . . . 88 table14.htm . . . . . 88 table15.htm . . . . . 90 table16.htm . . . . . 90 table17.htm . . . . . 91 table2.htm . . . . . . . 69 table3.htm . . . . . . . 69 table4.htm . . . . . . . 75 table5.htm . . . . . . . 75 table6.htm . . . . . . . 77 table7.htm . . . . . . . 78 table8.htm . . . . . . . 79 table9.htm . . . . . . . 83 tbody.htm . . . . . . . . 93 texthervor.htm . 29 ueberschrift.htm . 22 ueberschrift2.htm 22 urlaub.htm . . . . . . 126 verweise.htm . . . 147 visibility.htm 391 zitat.htm . . . . . . . . 30 HTML-Dokument Struktur . . . . . . . . . . . . 11 HTML-Tag Struktur . . . . . . . . . . . . 11 HTTP . . . . . . . . . . . . . . . . . . 8 http-Protokoll . . . . . . . 127 Hyperlinks . . . . . 115, 472 als Graphiken . . . . . 122 auf Graphiken . . . . . 123 Farben . . . . . . . . . . . . 121 Frames . . . . . . . . . . . . 146 Graphisch auf Graphiken . . . . . . 125 in andere Dokumente . 118 ins Web . . . . . . . . . . . 119 Lokal . . . . . . . . . . . . . . 115 nicht-lokal . . . . . . . . 119 I Image Maps . . . . 209, 476 Client-seitig . . . . . . . 210 Server-seitig . . . . . . . 214 Inline-Layer . . . . 278, 481 J Java-Applets . . . 235, 242, 473, 474 JavaScript . . . . . . . 251, 390 javascript-Protokoll . . 132 K Kleinere Schrift . . 28, 465 Kommentar . . . . . . . . . . 19 Kopfteil . . . . . . . . . . . . . 217 Kursive Schrift . . . 27, 465 L Layer . . . . . . . . . . . 278, 481 Inline . . . . . . . . . 278, 481 M mailto-Protokoll . . . . . 131 Menülisten . . . . . . . 57, 468 MIME-Typen . . . . . . . . 520 Multimedia 231, 244, 473 N news-Protokoll . . . . . . 130 Nichtproportionale Schrift . . . . . . . 32, 465 P Plugin-Konzept . . . . . Protokoll file . . . . . . . . . . . . . . . . ftp . . . . . . . . . . . . . . . . gopher . . . . . . . . . . . . http . . . . . . . . . . . . . . . javascript . . . . . . . . . mailto . . . . . . . . . . . . . news . . . . . . . . . . . . . . telnet . . . . . . . . . . . . . . Typen . . . . . . . . . . . . . 231 128 129 132 127 132 131 130 132 127 R Radiobutton . . . . 191, 478 527 Index RESET-Button . . 200, 479 RGB-Farben . . . . . . 17, 484 S Schrift Betonung . . . . . . 27, 465 Blinkend . . . . . . . 29, 465 Code . . . . . . . . . . 32, 465 Courier . . . . . . . . 32, 466 Durchgestrichen . . . 29, 465 Farbe . . . . . . . . . . 36, 467 Fett . . . . . . . . . . . . 27, 465 Größe . . . . . . . . . . 36, 467 größer . . . . . . . . . 28, 465 Hochgestellt . . . 29, 465 kleiner . . . . . . . . . 28, 465 Kursiv . . . . . . . . . 27, 465 Nichtproportional . 32, 465 Tastatureingaben . . . 32, 465 Tiefgestellt . . . . . 29, 465 Unformatiert . . . 32, 466 Unterstrichen . . 27, 465 Variablenname . 32, 465 Scripts . . . . . . . . . . . . . . . 251 Server-Push-Dokument . . 226 Skripte . . . . . . . . . . . . . . 251 Sonderzeichen . . . 16, 513 Griech. Buchstaben 516 HTML 3.2 . . . . . . . . . 513 Mathematische Symbole . . . . . . . . 517 Pfeilsymbole . . . . . . 518 Sonstige . . . . . . . . . . . 519 Technische Symbole . . . 518 Standard-Farben . 19, 484 Stichwörter . . . . . . . . . . 221 Style Sheets siehe CSS . . . . . . . . . . 279 SUBMIT-Button 193, 196, 479 Suchinformationen . . 221 T Tabellen . . . . . . . . . . 67, 469 528 Ausrichten . . . . . 83, 469 Beschriftung . . . 78, 470 Breite . . . . . . . . . . 73, 469 Fuß . . . . . . . . . . . . 92, 470 Gitternetzlinien 89, 469 Höhe . . . . . . . . . . 75, 469 Hintergrundbild . . . 88, 469 Hintergrundfarbe . . 86, 469 HTML-4 Erweiterungen 92, 96, 470 Kopf . . . . . . . . . . . 92, 470 Kopfzeile . . . . . . 78, 469 Rahmen . . . . 68, 72, 469 Rahmenfarbe . . 89, 469 Randabstand . . . 69, 469 Seitengestaltung . . . . 91 Spaltengruppe . . . . 470 Zeile . . . . . . . . . . . 67, 469 Zelle . . . . . . . 67, 77, 469 Zellenbreite . . . . 77, 469 Zellenhöhe . . . . . 77, 469 Tabellenzellen Ausrichten . . . . . 81, 469 Bilder . . . . . . . . . . 90, 469 Graphiken . . . . . 90, 469 Hintergrundbild . . . 88, 469 Hintergrundfarbe . . 87, 469 Mehrspaltig . . . . 79, 469 Mehrzeilig . . . . . 79, 469 TCP/IP . . . . . . . . . . . . . . . . 8 telnet-Protokoll . . . . . . 132 Text Abkürzung . . . . . . . . 465 Akronym . . . . . . . . . . 465 Betonung . . . . . . 27, 465 Blinkend . . . . . . . 29, 465 Code . . . . . . 32, 465, 466 Courier . . . . . . . . 32, 466 Definition . . . . . . . . . 465 Durchgestrichen . . . 29, 465 Farbe . . . . . . . . . . 36, 467 Fett . . . . . . . . . . . . 27, 465 Größe . . . . . . . . . . 36, 467 größer . . . . . . . . . 28, 465 Hervorheben . . . . . . . 27 Hochgestellt . . . 29, 465 kleiner . . . . . . . . . 28, 465 Kursiv . . . . . . . . . 27, 465 Nichtproportional . 32, 465 Tastatureingaben . . . 32, 465 Tiefgestellt . . . . . 29, 465 Unformatiert . . . 32, 466 Unterstrichen . . 27, 465 Variablenname . 32, 465 Tiefgestellte Schrift . . . 29, 465 Trennlinie . . . . . . . . 61, 466 U Umlaute . . . . . . . . . . . . . . 16 Unterstrichene Schrift 27, 465 URI . . . . . . . . . . . . . . . . . . . . 9 URL . . . . . . . . . . . . . . . . . . . 9 URN . . . . . . . . . . . . . . . . . . 9 V Verweise siehe Hyperlinks . . 115 Verzeichnislisten . 57, 468 Video . . . . . . . . . . . . . . . 246 W W3C . . . . . . . . . . . . . . . . . . . Web . . . . . . . . . . . . . . . . . . . Web-Browser . . . . . . . . . . Web-Client . . . . . . . . . . . . Web-Server . . . . . . . . . . . . WWW . . . . . . . . . . . . . . . . . 3 7 8 8 8 7 X XHTML . . . . . . . . 451, 486 XML . . . . . . . . . . . . . . . . 411 #PCDATA . . . . . . . . . 426 Attribute . . . . . . . . . . 432 Baumstruktur . . . . . 420 CDATA . . . . . . . . . . . 417 CSS . . . . . . . . . . . . . . . 446 Dateinamen . . . . . . . 424 Dokumenttyp-Definition 413, 425 Index Dokumenttyp-Deklaration 415 DTD . . . . . . . . . . 413, 425 Element-Definition 425 Elementtypen . . . . . 425 Entities . . . . . . . . . . . . 440 Gültigkeit . . . . . . . . . 419 IGNORE . . . . . . . . . . 425 INCLUDE . . . . . . . . . 425 Kommentar . . . . . . . 417 Namensräume . . . . 422 Namensregeln . . . . . 417 Notationen . . . . . . . . 445 Regeln . . . . . . . . . . . . 417 Sonderzeichen . . . . 424 Validierung . . . . . . . 419 Wohlgeformtheit . . 419 XML-Datei (Aufbau) . . 414 Z Zeichen Betonung . . . . . . 27, 465 Blinkend . . . . . . . 29, 465 Code . . . . . . . . . . 32, 465 Courier . . . . . . . . 32, 466 Durchgestrichen . . . 29, 465 Farbe . . . . . . . . . . 36, 467 Fett . . . . . . . . . . . . 27, 465 Größe . . . . . . . . . . 36, 467 größer . . . . . . . . . 28, 465 Hochgestellt . . . 29, 465 kleiner . . . . . . . . . 28, 465 Kursiv . . . . . . . . . 27, 465 Nichtproportional . 32, 465 Tastatureingaben . . . 32, 465 Tiefgestellt . . . . . 29, 465 Unformatiert . . . 32, 466 Unterstrichen . . 27, 465 Variablenname . 32, 465 Zeilenumbrüche . 23, 465 Zitate . . . . . . . . 30, 465, 466 Zusatzinformationen 218 529