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 141<br />
spiel in [Listing, Abb.5.4.2.1] zu entnehmen ist, ist auch das <strong>SVG</strong> zugrunde liegende Grafikmodell durch<br />
den so genannten „Painter’s Algorithm“ [vgl. Watt02:33] gekennzeich<strong>net</strong>: Einzelne grafische Objekte werden<br />
schlichterdings durch deklarativ darauffolgende Elemente überdeckt – ein zusätzlicher „z-Index“, wie<br />
noch in Flash oder HTML benötigt, entfällt. Dieses (im Prinzip ja „logische“) Prinzip „erhellt“ nicht nur die<br />
syntaktische Struktur der <strong>SVG</strong>-Datei, sondern begünstigt überdies dessen Übertragung: Ähnlich wie beim<br />
„progressiven Rendering“ von HTML-Dateien können <strong>SVG</strong>-Grafiken so sequentiell „gestreamt“ und direkt<br />
gezeich<strong>net</strong> werden, da später folgende Objekte ihre „Vorgänger“ kurzerhand übermalen.<br />
5.4.2.1 Deutlich sauberer als der Vorgänger VML<br />
Im Gegensatz zum direkt an die PostScript-Syntax angelehnten<br />
PGML wird im Rahmen der <strong>SVG</strong>-<br />
Spezifikation hingegen eine verstärkte Konzentraion auf Cascading Style-Sheets [CSS98] deutlich: Im Gegensatz<br />
zum in dieser Hinsicht recht unlogisch vorgehenden VML-Format [s.5.4.3] vermag <strong>SVG</strong> an dieser<br />
Stelle jedoch inhaltlich zwischen mittels „direkten“ <strong>XML</strong>-Attributen realisierten Positionierungs und Größenangaben<br />
(x,y,height,width) und im eher „stilistischen“ Bereich angesiedelten Stilangaben<br />
(fill,stroke…) zu unterscheiden und ermöglicht somit eine deutlich sinnvollere Anwendung des Style-<br />
Sheet-Prinzips. Zwar sind auch im Rahmen von <strong>SVG</strong> „redundante“ Deklarationen (beispielsweise die Determinierung<br />
eines Füllwerts sowohl als direktes Attribut als auch CSS-Angabe) möglich – wie bereits bei<br />
HTML werden die „direkten“ <strong>XML</strong>-Attribute in diesem Falle jedoch stets durch deren CSS-Pendants überdeckt,<br />
was auch eine konsequente Anwendung umfassender Style-Sheet-Klassen möglich macht [vgl.<br />
Behm02:55].<br />
Ähnlich wie in VML und Flash lassen sich nun überdies so genannte „Symbole“ definieren, die über ein korrespondierendes<br />
use-Tag mit entsprechenden Transformationseigenschaften beliebig oft innerhalb einer<br />
<strong>SVG</strong>-Zeichnung zur Anwendung kommen und die Bilddaten über deren Wiederverwendbarkeits-<br />
Eigenschaft so überschaubar und kompakt halten kann. 1 Auch über die so genannten „Rendering-<br />
Eigenschaften“ lassen sich, wie bereits im VML-Vorgänger die grafischen Darstellungseigenschaften (Anti-<br />
Aliasing, Qualitäts- oder Geschwindigkeits-optimierung) präzise regeln.<br />
5.4.2.2 Kontrovers: Die verzweigten Pfade des path-Tags<br />
„Nicht unumstritten“ [vgl. Tard01] erscheint hingegen Umsetzung des zentralen<br />
path-Elements, welches<br />
die Definition beliebiger Linien- und Bézierpfade ermöglicht: Im Gegensatz zum PostScript-Verwandten<br />
PGML-Entwurf, der an dieser Stelle die „saubere“ Einbindung entsprechender Tochterknoten vorsieht<br />
[s.5.2.3], geht <strong>SVG</strong> an dieser Stelle, ähnlich wie bereits in der VML-Spezifikation „im Grunde völlig unXM-<br />
Lisch vor“ [Behm02:56]: So enthält stets das obligatorische d-Attribut des (im übrigen alleinstehenden) 2 die<br />
einzelnen Pfadknoten samt Kontrollpunkte als einzelne, überdies „unkonventionell“ strukturierte Zeichenkette,<br />
was nicht nur die Lesbarkeit dieser Notation deutlich einschränkt, sondern überdies eine Interpretation<br />
der Pfaddaten über die DOM-Schnittstelle deutlich erschwert: 3<br />
= <br />
Listing 5.4.2.2: Definition eines Dreiecks (�) in <strong>SVG</strong> mit jeweils absoluten (li.) und relativen Koordinaten (re.).<br />
1<br />
vgl. hierzu [ibid] pp.56-57<br />
2<br />
Anm: Dies heisst, dass der Pfad i.d.R. nicht „umfassend“ ist (…), sondern lediglich einen einzelnen „Marker“ () darstellt.<br />
3<br />
s. hierzu die entsrpechenden Ausführungen von Jon Ferraiolo: “In recognition that path data into a single attribute makes DOM access<br />
difficult…”, aus: <strong>XML</strong> Developer Mailing List (Thread „ What is wrong with <strong>SVG</strong>?”) vom 6. März 2000: http://lists.xml.org/archives/xmldev/200003/msg00199.html<br />
[16.2.03]