20.01.2013 Aufrufe

XML » SVG Presenter - Carto:net

XML » SVG Presenter - Carto:net

XML » SVG Presenter - Carto:net

MEHR ANZEIGEN
WENIGER ANZEIGEN

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]

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!