Wie werden SVG-Dateien angezeigt?Zuerst einmal: ja, sie werden meistens überhaupt angezeigt. Das ist schon mal ein großer Schritt in die richtige Richtung. Die Frage ist nur, von was sie angezeigt werden. Womit wir beim Thema sind: Da SVG eine Unterdefinition von XML ist und sich XML auf die Fahnen geschrieben hat, Inhalt von Präsentationsform zu trennen, wäre es absolut kurzsichtig, SVG-Dateien nur für eine bestimmte Anzeigenart zu entwickeln etwa wie beim Postscript. Die Flexibilität bestimmt den AufwandWenn der Inhalt XML-isiert ist, kann dieser mittels unterschiedlichen Interpretern auch auf völlig unterschiedlichen Anzeigenarten präsentiert und ausgegeben werden, auf Handys z.B. genauso einfach wie auf Bildschirmen oder auf auflösungshungrigem Papier in Hochglanzqualität. Im Prinzip ist es immer die gleiche SVG-Datei, die von den Interpreten für das jeweilige Medium passgenau übersetzt wird. Natürlich muss deshalb jeder Interpreter wissen, was das eigentlich ist, was er gerade interpretieren soll, d.h. die SVG-Datei muss exakt strukturiert sein. Die Einfachheit siegtWenn nun (und das ist das erste Geniale an SVG) die Strukturierung Teil des verwendeten Befehlscodes ist und es einem dazu dank "offenem" XML noch relativ freigestellt ist, wie die Strukturierung aussieht und wie die Verknüpfungslogik eingebaut wird, haben wir ein universelles Instrument für jegliche Form von Inhalt. Bis dahin ist es zwar noch ein weiter Weg, aber dieses Ziel gilt nach wie vor. SVG ist eigentlich nicht nur für Bildschirme und das Internet gemacht, aber auch dort passendHeute steht zweifelsohne die Bildschirmdarstellung im Mittelpunkt der Entwicklung. Das nicht nur deshalb, weil die Monitore immer feiner auflösen und versprechen, kleiner und billiger zu werden. Der Grund ist auch ein anderer: Wie kommen die Daten ins Papier? Wie schnell geht das? Und wie kriege ich das Papier zum Leser oder zur Leserin? Wie Sie auf den Bildschirm kommen, ist mittlerweile allen klar: elektronisch schnell übers Internet. |
|
||||||
|
|
|||||||
Was rein geht, muss wieder rausInformationsübertragung passiert nur dann, wenn alle Befehle in einer Sprachnorm sowohl vom Sender (hier: SVG-Schriftsteller/in) wie auch vom Empfänger (hier: der Maschine, Browser, etc.) eindeutig erkannt werden. Es muss also eine vorherige Absprache geben, was erlaubt ist und was nicht. Eine Art Regelwerk, Sie können es auch als Gesetzlichkeit verstehen, auf jeden Fall sind es Definitionen, die
Diese Definitionen müssen Sie als SVG-Schriftsteller/in lernen und kennen. Die Maschine muss diese Definitionen aber auch kennen, sonst landet ihre schöne Befehlskette im unverstandenen Nirwana. |
|
||||||
|
Deshalb brauchen heute auch moderne Browser wie der Internet Explorer 6 noch
ein so genanntes Viewer-PlugIn.
Dieses interpretiert die Daten der SVG-Datei
und besorgt deren Ansicht (Im Prinzip ist das ein kleines Programm, das
Ihrem Browser erzählt, was SVG eigentlich ist, so dass er es darstellen
kann).
Mittlerweile gibt es diese Plugins von mehreren Firmen als kostenlose, teilweise sich selbst installierende Downloads. Nach dem Installieren haben Sie eine Maschine, die SVG-Code interpretieren kann, sie wirkt als Interpreter für Ihren Code. |
Erinnern Sie sich: es ist keine fünf Jahre her, als die Idee von SVG aufkam, bald gibt es Spezifikation 1.2, aber es wird noch ein wenig Zeit vergehen, bis alle Browser den Viewer schon eingebaut haben. Eine Übersicht über die zur Zeit
angebotenen Viewer geben wir im
|
||||||
Die "verteilte Grund-Logik" der Doctypes ( DTD)Das zweite geniale an SVG ist, dass die Definitionsliste und andere Steuerinformationen nicht fest in das eigentliche PlugIn und damit in den Browser eingebaut sind, sondern als so genannte Data Type Definition (DTD), einer "nachladbaren öffentlichen Liste" im Internet liegt. Dadurch kann sich die SVG-Technik ändern (Fortschritt) und bei Schwierigkeiten mit der Verarbeitung kann ein PlugIn automatisch in dieser Datei nachschauen, was es tun soll. Wer fortgeschrittene XML-Programmier-Erfahrung besitzt, kann sich diese Steuerdateien auch selbst schreiben (es ist nur eine Text-Datei) und sich dann in seinen SVGs darauf beziehen. Je nachdem, welche DTD im Kopf der SVG-Datei referenziert wird, entscheidet sich auch, ob eine SVG-Datei nach der Spezifikation 1.0, 1.1 oder 1.2 interpretiert werden soll. Die Entwicklung dieser DTDs ist in vollem Gange. |
Die DTDs und andere Steuer-Dateien können Sie sich vorstellen wie das Bios eines Rechners, es sind (unabhängig vom Betriebssystem) Basis-Regeln des Browser-PlugIns. Was ist eine Doctype?Starten Sie ein neues Browser-Fenster mit der Adresse der Document Type Declaration für SVG 1.0 und schauen Sie sich diese einfach mal an: |
||||||
|
|
|||||||
|
Üben Sie mit
|
||||||
|
|
||||||
Daraus folgen zwei Erkenntnisse:
|
![]() |
||||||
|
Mittels der verschiedenen Koordinationssysteme lässt sich die Anzeige
konkret steuern, also ein unpassendes Koordinationssystem in einen anderen
Abbildungsmaßstab verschieben oder Ausschnitte setzen, z.B mit
<embed width="200" height="100" src="ueb/ueb2a.svg">: <svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" style="shape-rendering:geometricPrecision; text-rendering: geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd" viewBox="0 0 400 400">
<circle cx="100" cy="50" r="25" fill ="red"/>
|
||||||
D. Reihenfolge der AnzeigeÜbereinander liegende Objekte liegen übereinander, d.h. das Oberste verdeckt das Untere. Dabei wird die SVG-Datei vom Interpreter von oben nach unten abgearbeitet, was bedeutet, dass später definierte Objekte oben liegen. Bei zusätzlichem Einfügen eines blauen Kreises:
|
|
||||||
|
Natürlich kann SVG nicht nur Kreise darstellen, sondern beliebige Objekte, aber das Prinzip ist immer das Gleiche. |
|
||||||
|
|
|||||||
|
Weiter zum nächsten Kapitel: |
|||||||