• Keine Ergebnisse gefunden

'RFXPHQW6W\OH6HPDQWLFVDQG6SHFLILFDWLRQ/DQJXDJH

Im Dokument Dynamische elektronische Bücher (Seite 182-185)

7UDQVIRUPDWLRQXQG3UlVHQWDWLRQYRQ'RNXPHQWHQ

'RFXPHQW6W\OH6HPDQWLFVDQG6SHFLILFDWLRQ/DQJXDJH

Bei CSS beschränkt sich die Verwandtschaft mit DSSSL im Wesentlichen auf eine gemeinsame Syntax für Stilformatierungen. Während für die Darstellung von SGML-oder XML-Dokumenten die Spezifikation von Layoutinformation unerlässlich ist, kann bei HTML im Prinzip darauf verzichtet werden, da die HTML-Browser jeweils eine Standardinterpretation für die Layoutdarstellung aufweisen. In diesem Fall dient CSS als zusätzliche Möglichkeit, ein Layout einheitlich zu definieren und die Gestaltung besser zu kontrollieren, nicht aber als notwendige Voraussetzung der Dokumentdarstellung.

Bevor die Standards näher vorgestellt werden, sei auf die Tatsache verwiesen, dass für SGML- bzw. XML-Dokumente eine Präsentationsspezifikation zwingend erforderlich ist, da ansonsten benutzerdefinierte Dokumentenstrukturbeschreibungen nicht zu interpretie-ren wäinterpretie-ren, wähinterpretie-rend die Webbrowser für die Darstellung von HTML eine Defaultinter-pretation liefern können. Die Präsentationsspezifikation für HTML-Dateien durch CSS hat in diesem Fall den Status einer zusätzlichen, optionalen Präsentationssteuerung.

7UDQVIRUPDWLRQVXQG/D\RXWVSUDFKHQ

Nachfolgend soll zwischen Sprachen unterschieden werden,

• die sowohl Transformationen der logischen Struktur von Dokumenten als auch die Spezifikation ihres Ausgabeformats (Layout) ermöglichen (DSSSL und XSL) und

• Sprachen, die sich ausschließlich auf den Präsentationsaspekt beschränken und nicht für die Dokumententransformation unabhängig von der Präsentation geeignet sind (Cascading Style Sheets (CSS).

'RFXPHQW6W\OH6HPDQWLFVDQG6SHFLILFDWLRQ/DQJXDJH

Die Document Style Semantics Specification Language ist ein internationaler Standard für die Manipulation und Darstellung von Dokumenten (ISO/IEC 10179). Die folgende, der Einleitung zu ISO/IEC 10179 entnommene Definition verdeutlicht die beiden Hauptan-liegen von DSSSL: Die Definition einer Transformationssprache für SGML und die Festlegung eines Kodierungsformat für die layoutbezogene Verarbeitung von SGML-Dokumenten:

This International Standard is designed to specify the processing of valid SGML docu-ments.

DSSSL defines the semantics, syntax, and processing model of two Languages for the specification of document processing:

a) The transformation Language for transforming SGML documents marked up in accordance with one or more DTDs into other SGML documents marked up in accordance with other DTDs. The specification of this transformation process is fully defined by this International Standard.

b) The style Language, where the result is achieved by applying a set of formatting character-istics to portions of the data, and the specification is, therefore, as precise as the application requires, leaving some formatting decisions, such as line-end and column-end decisions, to the composition and layout process.

DSSSL greift zwei wesentliche Aspekte der Verarbeitung von SGML-Dokumenten auf, die in SGML selbst nicht berücksichtigt sind:

7UDQVIRUPDWLRQVXQG/D\RXWVSUDFKHQ

• die Notwendigkeit, Dokumente, die in verschiedenen DTDs kodiert sind, zusammen-zuführen bzw. durch Transformationsprozesse auf andere DTDs abzubilden und

• die Ergänzung der logischen und physischen Struktur eines SGML-Dokuments durch präsentationsorientiertes Markup (Layoutinformation).

Diese beiden Prozesstypen werden in DSSSL durch

einen SGML Tree Transformation Process (STTP), in dem ein Baum (grove) aus Wur-zel, Elementknoten und Daten- bzw. Zeichenknoten aufgebaut wird und

den SGML Tree Formatting Process (STFP), der aus SGML-Dokumenten unter An-wendung von Stilspezifikationen beliebige Ausgabeformate generieren kann.90

Die nachfolgende Abbildung zeigt die Verarbeitung von Dokumenten mit Hilfe von DSSSL im Überblick:

IRUPDW]%

3657)3') 7UDQVIRUPDWLRQV

VSH]LILNDWLRQ

6WLOVSH]LILNDWLRQ

6*0/

'RNXPHQW 6*0/

'RNXPHQW

63'/RGHU DQGHUHV

$XVJDEH

7UDQVIRUPDWLRQ '666/EDVLHUWHU

)RUPDWLHUHU

'666/6SH]LILNDWLRQ

$EELOGXQJ 6FKHPDWLVFKHUhEHUEOLFNGHU9HUDUEHLWXQJVVFKULWWHLQ'666/>QDFK,62,(&

,62,(&($EE@

Die beiden Ziele – formale Spezifikation von Formatierungs- und Verarbeitungsinforma-tion für elektronische Dokumente – erreicht DSSSL durch eine deklarative (Programmier-)Sprache, die von dem Lisp-Dialekt Scheme abgeleitet ist und die durch Schnittstellen zu traditionellen Programmiersprachen ergänzt werden kann, wobei die Format- und Verar-beitungsinformation von der Kodierung der logischen Struktur (in SGML) getrennt ver-waltet wird. Die Detailspezifikation des Layouts für ein bestimmtes Ausgabegerät ist nicht Aufgabe von DSSSL, sondern kann von anderen Sprachen (z. B. Graphikbeschrei-bungssprachen, proprietäre Formate, die an bestimmte Geräte z. B. in der Druckvorstufe gebunden sind etc.) übernommen werden.

Sowohl die Transformationsvorgänge als auch die Layoutprozesse von DSSSL setzen auf einem gemeinsamen Algorithmus für Transformation und Formatierung von baum-ähnlichen Datenstrukturen auf (grove building, vgl. ADLER 1997: 599f.). Für die jeweili-gen Eingangsdaten, d. h. ein SGML-Dokument sowie die zugehörijeweili-gen DTDs, wird der Elementbaum als interne Repräsentation aufgebaut; dieser Elementbaum wird dann von den Transformations- und Formatierungssroutinen von DSSSL auf der Basis der vom Benutzer spezifizierten Angaben transformiert. Dies zeigen die beiden folgenden Abbil-dungen für den Transformations- bzw. für den Layoutprozess:

90 Die Ausgabeformate sind im Standard selbst nicht festgelegt; ihre Erzeugung muss mit DSSSL definiert werden (z. B. PDF, Postscript, HTML).

.DSLWHO¥7UDQVIRUPDWLRQXQG3UlVHQWDWLRQYRQ'RNXPHQWHQ

7UDQVIRUPDWLRQV VSH]LILNDWLRQ

6*0/'RNXPHQW

$XIEDX HLQHV JURYH '7' 6*0/

'HNODUDWLRQ

7UDQV IRUPD WLRQ

6*0/*HQHUD WRU

6*0/'RNXPHQW

$EELOGXQJ 7UDQVIRUPDWLRQVSUR]HVVHLQ'666/>QDFK,62,(&$EE@

6WLOVSH]LILNDWLRQ

6*0/'RNXPHQW

$XIEDX HLQHV JURYH

$XIEDX HLQHV

%DXPV YRQIORZ REMHFWV

)RUPD

WLHUHU $XVJDEH IRUPDW

$EELOGXQJ )RUPDWLHUXQJVSUR]HVVHLQ'666/>QDFK,62,(&$EE@

Wie die beiden voranstehenden Abbildungen zeigen, ähneln sich die beiden Prozess-typen: In beiden Fällen wird aus dem deklarativen Markup eines oder mehrerer SGML-Dokumente ein Elementbaum (grove) konstruiert, der dann entweder nach vorgegebenen Regeln umformatiert und in ein anderes SGML-Dokument oder ein bestimmtes Ausgabe-format umgewandelt wird.

Bei der Formatierung entsteht ein flow object tree, dessen Blätter Objekte vom Typ vordefinierter flow objects sind, die für das endgültige Layout angeordnet werden müs-sen. Die verschiedenen flow objects sind als Klassen im DSSSL-Standard vordefiniert (z. B. sequence, anchor, rule, score, glyph-annotation etc.). Mit jedem flow object sind formatting characteristics assoziiert, die den Formatierungsprozess steuern. Neben den Transformations- und Präsentationsprozessen definiert DSSSL eine

Standard Document Query Language (SDQL), die der Identifikation und Adressierung von Teilen eines SGML-Dokuments dient, sowie eine

Expression Language, die der Erzeugung und Manipulation von Objekten in den durch DSSSL spezifizierten Prozessen dient. Die DSSSL-Expression Language ist als eine Untermenge des Scheme-Standards eine funktionale Programmiersprache (vgl.

ISO/IEC 1996: 10.).

Das syntaktische Schema für Prozeduren sieht in DSSSL – nach der Vorgabe von Lisp bzw. Scheme – wie folgt aus: %H]XJVREMHNW 9HUDUEHLWXQJVYRUVFKULIWHQ. Das folgende schematische Beispiel zeigt eine Prozedur, in der ein Dokument in DSSSL geparst wird und dessen Elemente vom Typ .$3,7(/ in Abhängigkeit vom Wert ihres Attributs W\S unterschiedlich verarbeitet werden (vgl. BEHME & MINTERT 1998: 117 ff.):

7UDQVIRUPDWLRQVXQG/D\RXWVSUDFKHQ

HOHPHQW.$3,7(/

OHWNDSLWHOW\SDWWULEXWHVWULQJ´W\S§

LIDQG NDSLWHOW\S

VWULQJ "NDSLWHOW\S´YRUZRUW§

$QZHLVXQJHQIUGLH9HUDUEHLWXQJGHV9RUZRUWV

$QZHLVXQJHQIUGLH9HUDUEHLWXQJDQGHUHU.DSLWHOW\SHQ

&RGHEHLVSLHO %HLVSLHOHLQHU9HUDUEHLWXQJVSUR]HGXULQ'666/

DSSSL ist ein sehr mächtiger Standard, für den bisher nur wenige Softwarewerkzeuge existieren, z. B. die DSSSL-Engine Jade von James CLARK, vgl. http://www.jclark.com/

Jade. Für die Anwendung im Referenzprojekt Multimediales Physikalisches Praktikum kam er aus diesem Grund nicht in Betracht. DSSSL hat aber eine große konzeptuelle Be-deutung als Ausgangspunkt für die Entwicklung von Transformations- und Layoutspra-chen, die im Zusammenhang mit HTML und XML unmittelbar anwendbar sind.

Im Dokument Dynamische elektronische Bücher (Seite 182-185)