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 30<br />
unlesbar erwies, auf der anderen Seite jedoch für die kommenden Generationen Rückwärtskompatibilität<br />
und erhöhte Speichereffizienz versprach.<br />
Während verschiedene Kritiker derweil zumindest den von Microsoft beschworenen, „platzsparenden“ Effekt<br />
des neuen Speicheralgorithmus anzweifeln [vgl. Park01, Brow02], so ist zumindest die Aufwärtskompatibilität<br />
der seither folgenden Versionen (bis XP) eine sehr positiv anzumerkende Eigenschaft – wenn auch<br />
die <strong>XML</strong>-bezogenen Ankündigungen hinsichtlich der für 2003 angekündigten Folgeversion [vgl. Gall02]<br />
diesbezüglich etwas aufhorchen lassen. Für die eigentliche OnScreen-Darstellung speziell PPT97-spezifische<br />
Funktionalität 1 nutzender Präsentationen ist allerdings die bis heute relevante, erst seit der 8.0-Version eingeführte,<br />
überarbeitete Rendering-Engine zu erwähnen, die (auch wenn dieselben Dateien dank Rückwärtskompatibilität<br />
ebenfalls in den weit verbreiteten, PPT97-basierten Viewern, freilich deutlich unästhetischer,<br />
wiedergegeben werden können) optisch deutlich ansprechendere Darstellung desselben Präsentationsmaterials<br />
ermöglichen.<br />
2.3.3.1.2 Wohlbehütetes Kind: PowerPoints File Format SDK<br />
Aufgrund der Tatsache, dass auch das einzige, öffentlich verfügbare Dokument, welches aufschlussreiche<br />
Details über die interne Struktur des PowerPoint-Speicherformats preisgibt, 2 auf der 97er-Generation des<br />
Programms beruht, ist es – trotz unvollständiger Informationen über die Realisierbarkeit in Folgeversionen<br />
implementierter Erweiterungen (wie etwa fortgeschrittener Animationsmöglichkeiten) – zwar sehr mühsam,<br />
aber dennoch möglich, rudimentäre Im-/Exportfunktionalität zu entwickeln. Das von der Herstellerfirma<br />
„für Entwickler verschiedener Anwendungen zur Interaktion mit PowerPoint-Dateien“ [Micr97] 3 veröffentlichte<br />
„Microsoft PowerPoint 97 File Format SDK“ enthält darüber hinaus noch eine Auswahl interessanter<br />
Hilfsmittel, wie etwa nützliche Code-Fragmente 4 oder einen so genannten FileViewer, der den internen<br />
Aufbau der PowerPoint-Dateien in Form einer Baumstruktur visualisiert.<br />
2.3.3.1.3 Aufbau des SDK-Formats<br />
Grundkonzept der PowerPoint97-Dateien, und damit überdies auch nahezu aller neueren Microsoft-<br />
Office-Dateiformate, ist der strukturierte Dateiaufbau nach dem ole 2 Compound-Format. Dieses Speicherverfahren,<br />
eine Implementierung des so genannten „Structured Storage“-Modells,5 stellt eigentlich ein<br />
kleines Datei-System innerhalb einer Datei selbst dar, d.h. es beherbergt eine hierarchisches Struktur von<br />
fester Speicherorte (storages)<br />
und den flexibleren Streams.6<br />
Da eine nähere Erläuterung dieses<br />
doch recht komplexen Prinzips<br />
an dieser Stelle sicherlich<br />
den Rahmen sprengen würde,<br />
sei hier der Einfachheit halber<br />
auf [Broc95] verwiesen, wo<br />
Grundidee und Architektur des<br />
Verfahrens eingehend und ver-<br />
Abb. 2.3.3.1:Die verschiedenen Document-Streams, einschließlich des<br />
Power Point Document-Containers ( )<br />
ständlich dargelegt werden. Zum Verständnis der PowerPoint zugrunde liegenden Speicher-Architektur sei<br />
an dieser Stelle lediglich erwähnt, dass alle PowerPoint-Dateien ab 97er Versionsnummer ole DocObject-<br />
1<br />
Gemeint ist hiermit insbesondere die Unterstützung transparenter GIF-Dateien<br />
2<br />
vgl. [Micr97]<br />
3<br />
vgl. ebenda, Abschnitt “Purpose and Scope” [S62FDC]<br />
4<br />
Hierbei ist insbesondere die in C++-Syntax verfertigte Datei serial.h interessant, in der die einzelnen Dateielemente zum einfacheren<br />
Zugriff bereits anrealisiert sind.<br />
5<br />
Zu deutsch etwa: Strukturierte Speicherung<br />
6<br />
Datenkette ohne nötigerweise definierten Anfang bzw. Ende, s. hierzu auch [3.5.1]: „Streaming“