XML » SVG Presenter - Carto:net
XML » SVG Presenter - Carto:net
XML » SVG Presenter - Carto:net
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>XML</strong> <strong>»</strong> <strong>SVG</strong> PRESENTER | STRUKTURIERTE MULTIMEDIA-PRÄSENTATION IM WEB 179<br />
jeweils nur über die DOM-Schnittstelle verfügbaren Daten-Knoten durchsucht und verarbeitet werden können.<br />
Zugleich sei jedoch ebenfalls der nachteilige Umstand erwähnt, dass aufgrund der konsequenten Verwendung<br />
sowohl des objektorientierten ECMAScript-Ansatzes als auch der DOM-Schnittstelle erhebliche softwaretechnische<br />
Anforderungen auf den Benutzer des <strong>XML</strong> <strong>»</strong> <strong>SVG</strong> <strong>Presenter</strong> zukommen: Da beide Funktionen<br />
erst seit relativ kurzer Zeit standardisiert und verbreitet sind, benötigt der <strong>XML</strong> <strong>»</strong> <strong>SVG</strong> <strong>Presenter</strong> neben dem<br />
aktuellen <strong>SVG</strong>-Viewer von Adobe in der Version 3.0 1 zudem eine fortschrittliche Browser-Umgebung wie<br />
den Inter<strong>net</strong> Explorer 6, 2 da ansonsten weder Objektorientierung noch DOM-Funktionalität unterstützt<br />
werden. Diesen zugegebenermaßen recht hohen Software-Anforderungen steht jedoch eine durchweg konsequente<br />
und überdies zukunftsorientierte <strong>SVG</strong>-Anwendung gegenüber: Da diese Diplomarbeit sich ja primär<br />
an theoretisch und aus langfristiger Perspektive interessanten Technologien orientiert und somit nicht<br />
auf „pragmatische“ Kriterien wie clientseitiger Ablauffähigkeit (i.e. Verbreitung) festgelegt ist, sind diese<br />
Einschränkungen aufgrund der nichtkommerziellen Prototyp-Eigenschaft dieser Konzeptstudie durchaus<br />
hinnehmbar. Darüber hinaus sei an dieser Stelle zudem noch erwähnt, dass der <strong>XML</strong> <strong>»</strong> <strong>SVG</strong> <strong>Presenter</strong> eben<br />
aufgrund dieser Funktionalität etwa im Gegensatz zu sämtlichen weiteren <strong>SVG</strong>-basierten Ansätzen auf keinerlei<br />
externe XSLT-Prozessoren [vgl. HSL00, Herm02], oder sonstiger externe (Server)Tools [Sue02] angewiesen<br />
ist, sondern eine auch offline funktionsfähige Standalone-Anwendung darstellt.<br />
Bezüglich der eigentlichen Umsetzung des Prototypen erscheint an dieser Stel le noch ein weiteres Kuriosum<br />
der <strong>SVG</strong>-spezifischen Zielumgebung erwähnenswert, welches wiederum die Implementierung eines „Work-<br />
Arounds“ erforderlich gemacht hat: So unterstützt etwa die derzeitige Version (3.0) des Adobe <strong>SVG</strong> Viewers<br />
nicht das zum Parsen externer <strong>XML</strong>-Dateien unter Windows angebotene ActiveX-Objekt des Redmonder<br />
Software-Riesen (MS<strong>XML</strong>), sodass der Aufruf<br />
var myDom = new ActiveXObject("Msxml.DOMDocument");<br />
… im Rahmen der Adobe-Umgebung zu keinerlei Ergebnis führt – der Zugriff auf externe <strong>XML</strong>-Dateien<br />
wäre somit lediglich bei Einbettung etwa in eine XHTML-Umgebung des Microsoft Inter<strong>net</strong> Explorer unter<br />
Windows möglich. Da diese doppelte Einschränkung jedoch sowohl<br />
inkonsequent als auch recht umständlich<br />
erscheint, habe ich mich bei Realisierung eines entsprechenden „Work-Arounds“ auf die bereits ein-<br />
gangs erwähnte DOM-Eigenschaft der <strong>SVG</strong>-Implementierung selber besonnen: Zwar ist diese gemäß der<br />
<strong>SVG</strong>-Spezifikation eigentlich nur zur Manipulation <strong>SVG</strong>-nativer Elemente vorgesehen, lässt sich jedoch freilich<br />
ebenso zur Analyse weiterer, nicht <strong>SVG</strong>-konformer Objekte „missbrauchen“. So kommt in der nun realisierten<br />
Version des <strong>XML</strong> <strong>»</strong> <strong>SVG</strong> <strong>Presenter</strong>s die „Namensraum“-Eigenschaft von <strong>XML</strong> zum Tragen: 3 Demnach<br />
lassen sich „externe“, also der eigentlichen <strong>SVG</strong>-Syntax fremde <strong>XML</strong>-Elemente in denselben Dokument-Code<br />
einbinden – stets versehen mit einem separaten, so genannten „Namespace“-Deskriptor, der das<br />
entsprechende Tag eindeutig einem anderen Namensraum und somit einer anderen DTD zuord<strong>net</strong>. Der interne<br />
Parser der ECMAScript-Engine kann diese „eingefügten“ Elemente sodann als separate <strong>XML</strong>-Objekte<br />
identifizieren und entsprechend verarbeiten. In der derzeitigen <strong>Presenter</strong>-Anwendung sieht dies etwa konkret<br />
so aus:<br />
<br />
<strong>XML</strong> >> <strong>SVG</strong> <strong>Presenter</strong><br />
1 URL: http://www.adobe.com/svg/viewer/install [28.1.2003]<br />
2 Ggf. Auch Version 5.5 – dies ist jedoch Mindestanforderung, da frühere Browser kein Objektorientiertes EcmaScript unterstützen!<br />
3 s. hierzu auch [5.1]