20.01.2013 Aufrufe

XML » SVG Presenter - Carto:net

XML » SVG Presenter - Carto:net

XML » SVG Presenter - Carto:net

MEHR ANZEIGEN
WENIGER ANZEIGEN

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 127<br />

<br />

<br />

Listing 5.3.3.4: Definition eines linearen Verlaufes mittels fill-Tochterelemen<br />

Abb. 5.3.3.1: Darstellung des in [Listing 5.3.3.4] spezifizierten Rechtecks (rechts)<br />

Auf die einzelnen Variablen des Elements soll hier der Kürze halber nicht eingegangen werden [s. hierzu<br />

Micr98b, Reid00], da [Listing 5.3.3.4] lediglich der Illustration child-basierter Elementeigenschaften dient.<br />

Fest gehalten werden soll an dieser Stelle lediglich die Problematik der recht inkonsequenten Attributvergabe,<br />

da die Objekteigenschaften, wie bereits ausgeführt, auf Basis scheinbar recht uneinsichtlicher Kriterien 1<br />

sowohl mittels CSS-Angaben, direkten <strong>XML</strong>-Attributen sowie zusätzlichen Tochterelementen [s. Listings<br />

5.3.3.3 sowie 5.3.3.4] zu implementieren sind.<br />

5.3.3.2.3 Grafik-Primitives: Linien und Pfade<br />

Neben dem in [Listing 5.3.3.3] angegebenen Rechteck-Element werden auch in VML, wie bereits in den<br />

Spezifikationen der <strong>XML</strong>-basierten „Konkurrenz“ (im Besonderen PGML 2 ) enthalten, weitere Primitives [Safe01:1081]<br />

zum einfachen Erstellen grafischer Grundformen zur Verfügung gestellt, etwa line, curve,<br />

arc, oval etc. [vgl. VML98]. Das darüber hinaus komplexere Formen ermöglichende path-Element<br />

nimmt hierbei eine Sonderstellung ein, da es sowohl als diskretes Element als auch in Attributform 3<br />

in Erscheinung<br />

treten kann.<br />

Die path-Syntax weicht an dieser Stelle allerdings erheblich von der in [PGML98] vorgeschlagenen Möglichkeit<br />

der Pfad-Definition über als <strong>XML</strong>-Tochterelemente realisierte Knotenpunkte [s. Listing 5.3.2.2] ab:<br />

Wie in [VML98] 4 spezifiziert, werden hier einzelne Pfadknoten in einem sich aus Positionsdaten und Befehlskürzeln<br />

5 zusammensetzenden Array abgebildet, 6 wobei letzterer zugleich das Hauptattribut des Pfad-<br />

Elements darstellt.<br />

<br />

<br />

<br />

Listing 5.3.3.5: Definition eines Sterns über das path-Element<br />

Abb. 5.3.3.2: Darstellung des in [Listing 5.3.3.5] spezifizierten Sterns (rechts)<br />

Die hohe Komplexität 7 und Kompaktheit 8 dieser Notationsweise bedingt zeitgleich einen Verlust der „Lesbarkeit“<br />

des Codes, d.h. Struktur und vermutliches Aussehen des beschriebenen Pfades lassen sich nicht<br />

mehr ohne weiteres aus dem Quelltext ersehen. Dies erscheint jedoch unter Berücksichtigung einer damit<br />

einhergehenden signifikanten Speicherplatzeinsparung [vgl. Tard01] aufgrund der Tatsache, dass die VML-<br />

1<br />

die Attributverleihung erfolgt strikt im Rahmen (jedoch, wie ausgeführt, nicht im Sinne) der CSS2-Spezifikation [CSS98]<br />

2<br />

s. 5.3.2<br />

3<br />

Hinweis: Im Bezug auf das ShapeType-Element, wie weiter unten beschrieben.<br />

4<br />

vgl. [VML98] Textanker: #_Toc416858391<br />

5<br />

etwa m (= moveto: Pfad-Startkoordinate) oder l (=li<strong>net</strong>o: linearer Folgeknoten); vgl. [ibid]<br />

6<br />

Hinweis: Komma-Separierte Zeichenkette, die jedoch als Array geparst wird.<br />

7<br />

vgl. [ibid]<br />

8<br />

Die „Commands“ (moveto, li<strong>net</strong>o, close, nofill…) werden zugunsten von Speicherplatz-Effizienz statt menschen-lesbar lediglich in ab-<br />

gekürzter Form (m, l, c, nf…) kodiert.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!