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 112<br />
5.1.3 Reine Stilfrage: CSS, DSSSL, XSL<br />
Neben Anwendung der bereits aus HTML bekannten [s.3.2.3.2] Web-Standards Cascading Style Sheets<br />
[CSS96,98] sowie des auf sämtliche SGML-Dokumente anwendbaren (und jede <strong>XML</strong>-Datei ist aufgrund der<br />
Rückwärtskompatibilität [vgl. Mach97] ja zugleich SGML-konform), jedoch aufgrund seiner schier erschlagenden<br />
Komplexität im Prinzip „unzugänglichen“ [vgl. ROHD98:191] Lisp-Dialekts DSSSL 1 wurde daher<br />
im Rahmen der Entstehung des <strong>XML</strong>-Standards eine „eigene“ Style-Sheet-Sprache entwickelt, die so genannte<br />
eXtensible Stylesheet Language (XSL). Diese ist nicht nur in der Lage, <strong>XML</strong>-Dokumente zu verarbeiten<br />
und zur Präsentation aufzubereiten, sondern beruht ebenso selber auf der <strong>XML</strong>-Konvention, d.h. jede<br />
Xsl-Anwendung stellt selbst wieder eine Ausprägung bzw. (genauer: ein Dokumententyp) von <strong>XML</strong> dar. Im<br />
Rahmen dieser Entwicklungsbemühungen spaltete sich dieses Framework jedoch erneut auf in die so genannten<br />
XSL-Formatting Objects (XSL-FO), welche eine medienunabhängige (primär jedoch Dokumenten-<br />
bzw. Seitenbasierte) 2 Formatierung von <strong>XML</strong>-Elementen erlaubt, sowie die weitaus mächtigere Transformationssprache<br />
XSLT, die nun eine vollständige Verarbeitung und Umwandlung der <strong>XML</strong>-Daten in eine gänzlich<br />
andere (<strong>XML</strong>-)Datenstruktur ermöglicht. Im Zusammenhang mit der Präsentation von (<strong>XML</strong>-basierten)<br />
Daten kann so etwa eine <strong>XML</strong>-Dokumentstruktur in ein entsprechendes Präsentationsformat wie z.B. <strong>SVG</strong><br />
[5.4] transformiert werden. Das besondere an der XSLT-Sprache ist nun, dass sie, obgleich selber lediglich<br />
eine <strong>XML</strong>-Anwendung, wie eine „echte“ Programmiersprache verschiedene Variablen und Kontrollstrukturen<br />
zur Verarbeitung und Transformation der Quelldaten bereitstellt – in diesem Falle jedoch auf <strong>XML</strong>-Basis:<br />
So können mithilfe von XSLT-Elementen wie xsl:template, xsl:for-each oder xsl-if beliebig<br />
komplexe Transformationsanweisungen intelligent „programmiert“ werden. 3 Ein in meinen Augen nicht zu<br />
unterschätzendes Problem stellt an dieser Stelle jedoch die Tatsache dar, dass hier mithilfe der Datenstruktur-<br />
und Dokumenten-Konvention <strong>XML</strong> versucht wird, Strukturen einer Programmiersprache nachzubilden.<br />
Dies ist jedoch nicht nur für Programmierer sehr umständlich und zunächst ungewohnt, sondern überdies<br />
auch aus konzeptioneller Perspektive problematisch:<br />
We are sceptical of whether XSL’s syntax is appropriate for a style sheet language. XSL uses <strong>XML</strong>’s syntax –<br />
this makes XSL a Markup language. The strength of Markup languages is they are very effective for embedding<br />
meta-data (or instructions) within data. Style sheets though are almost entirely meta-data because<br />
styles sheets, in essence, are instructions to a browser on how to process and format a document… CSS’s syntax<br />
seems more appropriate for style sheets: CSS is much easier to read and expresses presentation in a way<br />
that better corresponds to listing rules about presentation.<br />
[MaMu99]<br />
Die derzeit populärste XSLT-Anwendung stellt daher natürlich die Umwandlung von <strong>XML</strong>-Daten in das<br />
HTML-Format als Ausgabemedium dar, um so eine gezielte „Präsentation“ der <strong>XML</strong>-Dokumente im Webbrowser<br />
zu erhalten. Im Rahmen des Inter<strong>net</strong> Explorers kann so etwa für ein beliebiges <strong>XML</strong>-Dokument<br />
durch die Angabe einer entsprechenden XSLT-Datei, die wiederum die entsprechenden, so genannten „Processing<br />
Instructions“ (Verarbeitungsanweisungen) zur Umwandlung der <strong>XML</strong>-Daten beinhaltet, stets eine<br />
individuelle Darstellung der Daten erreicht werden. Dies jedoch erscheint nun wiederum in den Augen<br />
mehrerer Kritiker, unter anderem [MaMu99], höchst bedenklich, da es die Möglichkeiten der XSL-Sprache<br />
wiederum auf die „verkrüppelte“ Funktionalität der HTML-Darstellung reduziert:<br />
We are concerned that this is positioning XSL as a language for producing HTML rather than as an independent<br />
presentation language. While this technique may be useful for making <strong>XML</strong> documents backward<br />
1 “DSSSL, which uses Lisp syntax, is widely regarded as having usability problems and has not seen widespread adaption” [Bosa98].<br />
2 Anm: Da die XSL-Formatting Objekts primär Dokument-Attribute wie Schriftarten, Zeilenabstände, Seitenlayouts etc. umfassen, ist<br />
dieser Ansatz primär auf die Ausgabe von Print-Medien (derzeit besteht die populärste Aufgabe der FO-Prozessoren (FOP) etwa darin, aus<br />
<strong>XML</strong>-Daten mittels XSL-FO ausdruckbare PDFs zu generieren.)<br />
3 Anm: Aufgrund der Komplexität der XSLT-Sprache soll jedoch an dieser Stelle auf Details hinsichtlich Syntax und Semantik verzichtet<br />
werden.