This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
An imprint of Pearson Education München • Boston • San Francisco • Harlow, England Don Mills, Ontario • Sydney • Mexico City Madrid • Amsterdam
Die Deutsche Bibliothek - CIP-Einheitsaufnahme Ein Titeldatensatz für diese Publikation ist bei Der Deutschen Bibliothek erhältlich.
Die Informationen in diesem Produkt werden ohne Rücksicht auf einen eventuellen Patentschutz veröffentlicht. Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt. Bei der Zusammenstellung von Texten und Abbildungen wurde mit größter Sorgfalt vorgegangen. Trotzdem können Fehler nicht vollständig ausgeschlossen werden. Verlag, Herausgeber und Autoren können für fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung übernehmen. Für Verbesserungsvorschläge und Hinweise auf Fehler sind Verlag und Herausgeber dankbar. Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen Medien. Die gewerbliche Nutzung der in diesem Produkt gezeigten Modelle und Arbeiten ist nicht zulässig. Fast alle Hardware- und Softwarebezeichnungen, die in diesem Buch erwähnt werden, sind gleichzeitig auch eingetragene Warenzeichen oder sollten als solche betrachtet werden. Umwelthinweis: Dieses Buch wurde auf chlorfrei gebleichtem Papier gedruckt. Die Einschrumpffolie – zum Schutz vor Verschmutzung – ist aus umweltfreundlichem und recyclingfähigem PE-Material.
Vorwort Es ist ein großer Vorteil im Leben, die FEHLER, aus denen man lernen kann, möglichst frühzeitig zu machen. (Winston Churchill) Diese Zeilen, gleichwohl als Vorwort deklariert, entstanden nach Beendigung des Großteils der Arbeit an diesem Buch1. Diese Tatsache machte mir einen Aspekt deutlich: Einleitende Beschreibungen sollen nie als Vorwort deklariert und tatsächlich erst nach allen anderen Anmerkungen notiert werden. Wie dem auch sei: Das nun vor Ihnen liegende Buch beinhaltet vier Sprachen, von denen zwei zu den wohl populärsten des derzeitigen Internetzeitalters gehören. HTML und CSS wird aber nicht nur aus diesem Grund ein Großteil dieser Abhandlung gewidmet. Denn trotz zahlreicher Modifikationen und Sprachneuentwicklungen bilden diese beiden Ansätze auch heute noch die Grundpfeiler des Internets. Dass sich diese Aussage noch eine geraume Zeit lang bewahrheiten wird, zeigen die ständigen Weiterentwicklungen und eine zunehmende Browser-Akzeptanz. So werden beispielsweise die Grenzen von statischem HTML immer weiter aufgebrochen und durch Ergänzungssprachen wie den Cascading Style Sheets ständig erweitert. Zusätzlich wird aber auch im Hinblick auf weiterführende Technologien wie XML mehr als nur ein HTML- und CSS-Grundwissen vorausgesetzt. So lassen sich zwar Daten mittels XML strukturieren, für deren Ausgabe im Browser werden dennoch zusätzliche Sprachen benötigt, wobei sowohl die Darstellung und Auszeichnung durch HTML als auch die Formatierung mittels Style Sheets notwendig sind2. All diese Punkte bedeuten ein Hingleiten auf die gleiche Aussage – das unbedingte Verständnis von HTML und dessen Optimierung durch Style Sheets. Zwei weitere wichtige Eckdaten dieses Buches bilden die beiden Sprachen WML und SMIL, deren Durchbruch zwar bislang nicht vollständig gelang, denen die Zukunft aber dennoch offen steht. Zukünftige Internetauftritte werden ohne eine Erweiterung des Angebots wohl kaum denkbar sein. Welchen Weg die Entwickler einschlagen werden lässt sich freilich nur schwer voraussagen. Und dennoch: WML und SMIL können hierbei eine entscheidende Rolle spielen. So gibt es bereits heute kaum eine Messe oder einen Kongress, in dem Streaming nicht eines der vorherrschenden Themen ist.
1. Wobei sich dies selbstverständlich und ausschließlich auf meine Beteiligung an diesem Werk bezieht. All denjenigen bei Addison-Wesley, denen die Aufgabe des mühevollen Korrekturlesens, der Ausbesserung meiner schwerwiegenden sprachlichen Ausrutscher und der übrigen Verarbeitung meiner Gedanken zufällt, sind hiervon ausgeschlossen und mögen mir diese Verallgemeinerung verzeihen. 2. Moderne XML-Applikationen werden zudem häufig über JSP-Dateien ausgegeben, deren Funktionalität sich zwar aus einem Zusammenspiel zwischen XML und JSPDateien ergibt, die Ausgabe im Browser wird aber auch hier durch HTML und zumeist CSS übernommen.
13
Vorwort
Multimediale Präsentationen in Echtzeit bieten zweifelsohne Anwendungspunkte, deren tatsächliche Fähigkeiten sich derzeit wohl nicht einmal erahnen lassen. Eine Sprache, welche den gestiegenen Anforderungen multimedialer Präsentation entwachsen und speziell für diesen Zweck entwickelt wurde, steht mit SMIL zur Verfügung. Mittlerweile aus dem geflügelten Sprachgebrauch kaum noch wegzudenken ist das mobile Internet. Anwendern soll die Nutzung dieses Mediums einen unbegrenzten Informationszufluss gewähren. Die dieses Vorhaben umsetzende Sprache WML ist für diesen Zweck gerüstet, auch wenn dies die derzeitigen Übertragungsgeschwindigkeiten, denen sich WAP-Nutzer ausgesetzt sehen, nur schwer erahnen lassen mögen. Von Herzen ...und niemals geht ein Mensch den Weg allein. Mein Dank für ihr Dasein geht an meine Familie, wobei naturgemäß Vater, Mutter und Bruder hervorgehoben werden sollten und dies hiermit auch wurden. ;-) Für zahllose fantastisch kurzweilige Stunden gelten mein Dank und tiefste Bewunderung Bret Eston Ellis, Nick Hornby, John King, Tony Parsons, Andrea Ashworth, Philip Roth und Irvine Welsh. Der Widmung dieses Buches habe ich nichts mehr hinzuzufügen. Außer Danke für alles, und insbesondere dafür, dass Du mir meine »FRÜHZEITIGE« Phase nie zum Vorwurf gemacht hast. Also Sarah, wie gehabt, das Buch ist für Dich. Daniel Koch Berlin / Ilmenau Juni 2001
Einführung Denken wir uns den äußersten Fall: dass ein Buch von lauter Erlebnissen redet, die gänzlich außerhalb der Möglichkeit einer häufigen oder auch nur seltenen Erfahrung liegen – dass es die erste Sprache für eine neue Reihe von Erfahrungen ist. In diesem Falle wird einfach nichts gehört, mit der akustischen Täuschung, dass, wo nicht gehört wird, auch nichts da ist. (Friedrich Nietzsche) Eine Brücke zwischen dem Vorläufer vieler irrationalistischer, subjektividealistischer Schulen der bürgerlichen Philosophie und dem diesem Buch zu Grunde liegenden Prinzip des allumfassenden Hypertextgedanken mag sich ebenso schwierig schlagen lassen, wie es die Zeitspanne zwischen der Entstehung des Nietzsche-Zitats und der des Internets auf den ersten Blick vermuten lässt. Aber dennoch: Ebenso wie sich Thomas Mann von Friedrich Nietzsche beeinflussen ließ, soll der Grundgedanke des Hypertextes alle in diesem Buch vorgestellten Sprachen begleiten. Dreien der vier innerhalb dieser Abhandlung darzubietenden Auszeichnungssprachen liegt das gleiche Prinzip, das des Hypertextes, zu Grunde. Die einzige Ausnahme davon
14
Einführung
sind Style Sheets, deren Daseinsberechtigung sich einzig und allein aus der Notwendigkeit einer Formatierung von bereitgestellten Informationen ergibt. Innerhalb der nun vor Ihnen liegenden Abhandlung werden die nachfolgend aufgeführten vier Sprachen in dieser Reihenfolge vorgestellt. 왘 Hypertext Markup Language – HTML 왘 Cascading Style Sheets – CSS 왘 Wireless Markup Language – WML 왘 Synchronized Multimedia Integration Language – SMIL
Deren Gewichtung und Kapitelumfang orientiert sich an dem tatsächlichen Nutzen, welcher derzeit durch ihren praktischen Einsatz erzielt werden kann. Zusätzlich zu den Auflistungen aller Tags und Attribute gibt es in jedem Kapitel eine Zusammenfassung der jeweiligen Sprache in Form einer Sprachreferenz. Die Frage der Interpretation von CSS und HTML durch die unterschiedlichen Browser wird innerhalb der entsprechenden Abschnitte erörtert und anhand einer jeweiligen Referenz nochmals vor Augen geführt. Die verschiedenen Anhänge bieten weiterführende Informationen rund um die innerhalb dieses Buches ausführlich beschriebenen Sprachen. So finden Sie neben einer vollständigen Sonderzeichen- und Farbtabelle die derzeit aktuellen Dokumenttyp-Definitionen von HTML 4.01, SMIL und WML. Wichtige Konventionen Die net.com-Reihe – und in eben dieser ist das vor Ihnen liegende Buch erschienen – sieht für eine logische Strukturierung und eine effizientere Lesbarkeit verschiedene Symbole vor, die innerhalb dieses Buches ebenfalls berücksichtigt wurden und deren Bedeutung sich im Einzelnen folgendermaßen darstellt. Alle Beispiele, ohne die kein Praxisbuch denkbar wäre, kennzeichnet dieses Symbol.
Alle vorzustellenden Sprachen besitzen eine einfache Syntax. Und dennoch gibt es Tücken, auf die es aufmerksam zu machen gilt. Den Part übernimmt dieses Symbol. Da es sich bei dem vorliegenden Buch mitnichten um die pure Auflistung von Tags und Sprachanweisungen handelt, dürfen diverse Tipps und Tricks nicht fehlen. Diese Bereiche sind durch dieses Icon ausgezeichnet. Die Darbietung geschichtlicher Zusammenhänge in der Entstehung des Internets und dessen relevanter Sprachen wird in diesem Buch vernachlässigt. Allen diesem Thema geneigten Leserinnen und Lesern sei in diesem Zusammenhang das World Wide Web Consortium unter www.w3.org als ideale Anlaufstelle für weiterführende Recherchen empfohlen.
15
1
Hypertext Markup Language
Ich habe eine dreiteilige Regel: (1) Nie über eine Situation jammern, solange sie noch im Gang ist; (2) wenn einem die Sache einfach unglaublich vorkommt, am besten so tun, als wäre man in einem Film; und (3) wenn es vorbei ist, einen Sündenbock finden und es ihn nie vergessen lassen. (Die Philosophie des Andy Warhol von A nach B und zurück) In der Computerwelt existieren für alle Sprachen – seien es Programmieroder Auszeichnungssprachen – fest vorgeschriebene Syntaxregeln, ohne deren Berücksichtigung das Anzeigen von Fehlermeldungen nahezu unumgänglich ist. Die Anfangszeiten des Internets und die hiermit einhergehende Browser-Entwicklung liefen diesen seit Beginn des Computerzeitalters bestehenden Regeln entgegen. Die derzeit auf dem Markt befindlichen Browser zeigen im Normalfall auch Internetseiten an, die fehlerhafte HTMLAuszeichnungen enthalten und in dieser Form normalerweise nicht dargestellt werden dürften. Und dennoch soll dies kein Garant für den Einsatz »schlechten« HTMLs sein. Erste, diesem Trend entgegentretende Entwicklungen integrierten die Netscape-Entwickler in ihr neuestes Produkt, den Navigator 6. Hier werden schwerer wiegende Syntaxfehler mit einem Nichtanzeigen der Seite bestraft. Aber auch dem offiziellen Standard entgegenwirkende Syntax wird vom Netscape Navigator 6, zumindest teilweise, nicht mehr interpretiert. Aus diesen Gründen ist ein korrektes Einhalten der HTML-Spezifikation zwingend erforderlich. Die Grundlagen für die Realisierung dieser Spezifikationen werden in den folgenden Abschnitten vermittelt.
Syntaxfehler und BrowserIrritationen
Die informativste aller Adressen für Fragen zu Sprachneuentwicklungen, bestehenden und veralteten Standards ist www.w3.org, die offizielle Seite des World Wide Web Consortiums (W3C).
1.1
Allgemeine Syntaxregeln
HTML unterliegt einer stetigen Weiterentwicklung, welche das Einhalten bestimmter Konventionen über einen längeren Zeitraum erschwert. Dennoch gelten gewisse Grundregeln, die vor dem Publizieren eines Internetprojekts zu berücksichtigen sind. Die Beispiele in diesem Buch orientieren sich strikt an dem neuesten XHTML-1.0-Vorschlag des W3C und halten die darin enthaltenen Konventionen ein1. Inwieweit der Leser dieser Abhand-
XHTML versus HTML
1. Wenngleich hier auch Tags und Attribute vorgestellt werden, die keine XHTML-Konformität ermöglichen, ohne deren Darstellung sich diese Abhandlung allerdings nicht als »alltagstauglich« verstehen dürfte.
17
1 Hypertext Markup Language Abbildung 1.1: www.w3.org
lung hiermit konform geht, ist für das korrekte Anzeigen einer Internetseite nicht entscheidend. Professionelle Anwender, deren Erfolg auf innovativen Internetseiten mit zukunftsorientierten Technologien basiert, werden mit dem Einhalten der hier beschriebenen Regeln auch für die nächsten Stufen der Internetseitengestaltung gewappnet sein. Dies gilt insbesondere für solch grundlegende Entwicklungen wie XML und die hiermit einhergehenden und abgewandelten Sprachen. Als wichtigste Konventionen im Hinblick auf XHTML-Dokumente wurden die nachfolgend aufgeführten spezifiziert: 왘 Jedem Dokument muss eine Document Type Definition zugewiesen
werden. 왘 Jedem Start-Tag muss auch ein End-Tag zugewiesen werden. 왘 Alle Tags müssen kleingeschrieben werden. 왘 Alle Attribute müssen mit Anführungszeichen versehen und kleinge-
schrieben werden.
Diese vier Punkte müssen nicht in jedem Fall eingehalten werden, für einen qualitativ hochwertigen Quelltext und somit ein in jedem Fall korrektes HTML sollten sie im Idealfall jedoch Verwendung finden. Tags verwenden Trennung von Markup und Inhalt
18
Jede HTML-Datei besteht aus dem in ihr enthaltenen darzustellenden Dokumentinhalt und dem Markup. Letzteres beschreibt Zeichen, mit deren Hilfe
Allgemeine Syntaxregeln
ein WWW-Browser die notwendigen Informationen zur Darstellung der bereitgestellten Inhalte erhält. Um diesen Effekt erzielen zu können, müssen zur Auszeichnung von Texten Tags eingesetzt werden. Um eine Unterscheidung zwischen HTML-Inhalt und den innerhalb der Datei notierten Tags sowohl für den Nutzer als auch für den Browser garantieren zu können, werden Tags in spitze Klammern gesetzt notiert. Im Regelfall werden in HTML jeweils ein Start-Tag, welches den Beginn des Elements kennzeichnet, und ein End-Tag zur Kennzeichnung des Elementendes benötigt. Das folgende Beispiel soll als Einführung dienen und das Grundprinzip der Textauszeichnung beschreiben.
Elementinhalt
Das gezeigte Element wird durch das Start-Tag
eingeleitet. Hieran schließt sich der darin enthaltene Elementinhalt, der dem Nutzer innerhalb des Browsers angezeigt wird an. Nach Beendigung aller Eingaben muss das Schluss-Tag
notiert werden. Neben Elementen, die einen eindeutigen Inhalt und ein Abschluss-Tag besitzen, müssen seit XHTML 1.0 alle leeren Tags ebenfalls geschlossen werden. Bei diesen handelt es sich beispielsweise um einzeilige Eingabefelder, Zeilenumbruchsdefinitionen oder Grafiken. Den zuletzt Genannten ist die nachfolgend notierte Syntax , die eine simple Grafikreferenzierung darstellt, gewidmet.
Soll ein Dokument den offiziellen Empfehlungen und Ansprüchen des W3C entsprechen, müssen alle leeren Tags zum Abschluss des Elements einen Slash zugewiesen bekommen. Tags verschachteln HTML kann ebenso wie SGML verschachtelte Strukturen weitervererben. Elemente können andere Elemente enthalten. Im Zusammenhang mit etwaigen Verschachtelungen ist zu berücksichtigen, dass das eingebettete Element zunächst geschlossen werden muss und erst anschließend das dieses umgebende Element beendet werden kann. Andere, dieser Regel entgegenwirkende Tag-Konstrukte sind innerhalb von HTML nicht gestattet und sollten vermieden werden. Korrektes, mit den SGML-Vorgaben konform gehendes HTML in Bezug auf Verschachtelungen von Tags stellt sich folgendermaßen dar:
Vererbung von Strukturen
Elementinhalt
Das äußere, den Elementinhalt einschließende Tag lautet , innerhalb dessen die Anweisung notiert wird. Die abschließenden Tags entsprechen dieser Konvention und ergeben somit ein mit den Vorgaben des W3C konformes HTML-Element.
19
1 Hypertext Markup Language
Attribute einsetzen Um HTML-Tags und somit das Erscheinungsbild einer Internetseite exakter spezifizieren zu können, lassen sich Attribute einsetzen, mit deren Hilfe bestimmten Tags Werte zugewiesen werden können. Solche Wertzuweisungen müssen innerhalb des öffnenden Tags notiert, in Anführungszeichen gesetzt und kleingeschrieben werden. Den Einsatz eines Attributs beschreibt das folgende Quelltextfragment.
Elementinhalt
Dem
-Tag soll durch den Einsatz des align-Attributs eine spezielle, in diesem Fall eine zentrierte Ausrichtung zugewiesen werden. Als dem Attribut zuzuweisender Wert wurde hier center gewählt. Innerhalb von HTML existieren verschiedene Arten von Attributen, die sich zwar nicht von ihrem Grundprinzip her, dafür aber durch ihre jeweiligen syntaxspezifischen Besonderheiten unterscheiden. Die nachstehend notierte Aufzählung zeigt alle existenten Varianten auf: 왘 mit variabel zu vergebenden Namen (z.B. ) 왘 mit nummerischen Werten (z.B.
Elementinhalt
) 왘 mit prozentualen Werten (z.B.
Elementinhalt
) 왘 ohne zusätzliche Werte (z.B. ) 왘 mit vorgeschriebenen Werten (z.B. Elementinhalt,
wobei die Anweisung valign auch die Werte middle und top besitzen kann) Die hier gezeigten Varianten mit den dazugehörigen Beispielen sind an die XHTML-Spezifikation angelehnt und laufen mit dieser konform. Die beiden großen Browser, sowohl der Internet Explorer wie auch der Netscape Navigator, interpretieren Attribute auch dann, wenn diese nicht in Anführungszeichen gesetzt oder großgeschrieben wurden.
Universalattribute Attribute für den universellen Einsatz
20
Viele der spezifizierten Attribute lassen sich lediglich in einigen, wenn nicht gar nur einem HTML-Tag einsetzen und wurden speziell für dieses entwickelt. Seit HTML 4 stehen diverse Attribute zur Verfügung, die universell auf nahezu alle existierenden Tags angewandt werden können. Dieser Abschnitt soll alle existierenden Universalattribute mit den jeweils möglichen HTML-Tags, in welchen sie eingesetzt werden können, vorstellen, wobei sich deren Syntax an den in den vorangegangenen Abschnitten beschriebenen Vorgaben orientiert.