XML » SVG Presenter - Carto:net
XML » SVG Presenter - Carto:net
XML » SVG Presenter - Carto:net
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>XML</strong> <strong>»</strong> <strong>SVG</strong> PRESENTER | STRUKTURIERTE MULTIMEDIA-PRÄSENTATION IM WEB 177<br />
Anwendungen, einschließlich des Adobe <strong>SVG</strong> Viewer, ist jedoch die (wiederum reichlich problematische)<br />
Installation und Verwendung eines separaten XSLT-Prozessors (wie etwa des Java-basierten Saxon) 1 vonnöten,<br />
der die entsprechende Übersetzung schließlich durchführen kann:<br />
At present, unfortunately, one must [an] XSLT processor.<br />
This restriction will become obsolete when XSLT<br />
2.0 processors become more widely available…<br />
[Herm02]<br />
Diese in meinen Augen äußerst unerfreuliche Abhängigkeit von jeweils externen Prozessoren, Server-Tools<br />
oder Viewern, die, wie soeben erläutert, bedauerlicherweise<br />
bei sämtlichen bereits bestehenden, <strong>XML</strong>basierten<br />
Präsentationsansätzen besteht, wollte ich konsequenterweise bei der Realisierung des X ML <strong>»</strong> <strong>SVG</strong><br />
<strong>Presenter</strong>s vermeiden. Aufgrund dessen habe ich mich, in Anlehnung an [Duck01:105], 2 bei der Umsetzung<br />
des <strong>Presenter</strong>s zur Anwendung der Client-seitigen Programmiersprache ECMAScript [vgl. Wild99:377] entschlossen.<br />
Diese durch die European Computer Manufacturers Association (ECMA) 1997 standardisierte Implementierung<br />
der zuvor unter dem Namen JavaScript (zuvor jedoch in sehr inhomogener, inkompatibler<br />
Erscheinungsform) 3 insbesondere in Browser-Umgebungen 4 bekannte Skriptsprache [ECMA97] besticht in<br />
ihrer neuesten Version insbesondere durch konsequente Objektorientierung und DOM-Unterstützung. 5<br />
Konkret bedeutet dies unter anderem, dass man nun ähnlich wie in der Programmiersprache Java „Objekte“<br />
definieren und verändern kann [vgl. Lind02]<br />
// Definition eines Integer–Objekts (bspw. im Kopfteil einer ECMAScript-Datei):<br />
function Integer(value) { this.int = value; }<br />
function Integer.prototype.set(value) { this.int = value; }<br />
function Integer.prototype.value() { return this.int; }<br />
// Im Hauptteil: Anwendung des Objekts:<br />
var eineZahl = new Integer(5);<br />
var zweiteZahl = new Integer(2);<br />
zweiteZahl.set(eineZahl.value() + 3); // zweiteZahl = 8!<br />
L isting 6.5.1.1: Instanziierung und Zugriff auf ein Integer-Objekt mittels ECMAScript (In script.js des Prototypen)<br />
S peziell die DOM-Implementierung ECMAScripts ermöglicht wiederum einen für unsere Zwecke äußerst interessanten<br />
Zugriff auf einzelne Elemente eines <strong>XML</strong>-Dokuments. Ohne an dieser Stelle sonderlich weit in<br />
6<br />
die Details der DOM-Funktionalität eindringen zu wollen, sei an dieser Stelle zum Verständnis dieses Prin-<br />
zips lediglich erwähnt, dass im Document Object Model, wie der Name bereits andeutet, das gesamte Dokument,<br />
auf das im Rahmen der DOM-Aktivität zugegriffen werden soll, als objektorientierte Hierarchie<br />
aufgefasst wird. Dies bedeutet, dass sich das gesamte Dokument in baumartig organisierte Objekte, die so<br />
genannten Knoten (oder „Nodes“) unterteilt. Auf jeden einzelnen dieser Baum-Knoten kann nun wiederum<br />
mithilfe der DOM-Syntax direkt zugegriffen werden – und zwar nicht nur auf die einzelnen Eigenschaften<br />
des Node-Objekts selber, sondern sogar auf dessen übergeord<strong>net</strong>e Knoten, (Parents) ebenso wie sämtliche<br />
Tochterelemente (Children) und „Geschwister“ (Siblings), d.h. die Baumknoten derselben Hierarchie-<br />
Ebene:<br />
// Zugriff auf verschiedene Objekte einer Gruppe (Hier: MouseOver-Funktion)<br />
...<br />
1 vgl. [Kay00,01]<br />
2 „Eine Weitere Möglichkeit, <strong>XML</strong> auf dem Webclient zu parsen, ist der EInsatz eines Javascripts. Der Vorteil hierbei ist, dass das XSL-<br />
StyleSheet nicht innerhalb des <strong>XML</strong>-Dokumentes festgeschrieben sein muss. Und sich somit abhängig vom Endgerät verschiedene XSLT<br />
der <strong>XML</strong>-Datei zuweisen lassen…“ [Duck01] p.105<br />
3 vgl. [Wild99] p.377<br />
4 Anm: So ist etwa Microsofts JScript eine konkrete Implementierung des ECMAScript-Standards.<br />
5 DOM: Document Object Model (Objektmodell eines <strong>XML</strong>-Dokuments) vgl. [Arm01]<br />
6 vgl. hierzu [Arm01]