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 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.