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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!