next up previous contents
Nächste Seite: 4.3 Seitendefinition Aufwärts: 4 XSL-FO Vorherige Seite: 4.1 Entstehung   Inhalt


4.2 Grundlagen

XSL-FO beschreibt den Seitenaufbau, wie beispielsweise Größe, Position, Rahmen, Zeilenabstände, benutzte Schriftarten und Farben. Um die XML-Daten, die in eine druckreife Datei überführt werden sollen, in dieses Format zu bringen, werden sie meistens mittels XSLT in ein gültiges XSL-FO-Dokument umgeformt (vgl. Abbildung 7). XSLT fungiert dabei im wesentlichen als Variable für den Inhalt. Die Daten, die den Inhalt bilden, werden mit XSLT an den Stellen in dem XSL-FO-Dokument eingefügt, an denen sie mittels XSL-FO zur Ausgabe bearbeitet werden sollen. Für die weitere Betrachtung der Funktionsweise von XSL-FO reicht es daher aus, die Daten fest in das FO-Dokument hineinzuschreiben. Die XSL-Transformation, die diese Datei eigentlich erzeugt, also im wesentlichen die Textpassagen in die XSL-FO Auszeichnungen integriert, wird in Kapitel 3 beschrieben. Ein Beispiel zu der Zusammenarbeit von XSL-FO und XSLT wird in Kapitel 4.5 behandelt.

Abbildung 7: Ablauf zur Erstellung von Formaten aus XML-Daten
\includegraphics[scale=0.65]{bilder/AblaufFO}

Der Aufbau eines XSL-FO-Dokumentes ist immer gleich. Zu Beginn werden die Seiten definiert. Dabei werden die Größe, die Ränder und die beschreibbaren Regionen festgelegt. Darauf folgen optional Deklarationen, wie die Bestimmung eines einzusetzenden Farbprofils. Im Anschluß folgt die Beschreibung des gesamten Inhalts und aller seiner Eigenschaften, wie Position, Fonts und Farben. Der folgende Code zeigt den grundlegenden Aufbau eines XSL-FO-Dokumentes:
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<!-- Seiten definieren -->
  <fo:layout-master-set>
    ... 
  </fo:layout-master-set>
  
<!-- optional Deklarationen -->
  <fo:declarations>
    ... 
  </fo:declarations>
  
<!-- Seiten benutzen , Inhalt einfügen -->
  <fo:page-sequence master-reference="seitenverweis">
    ... 
  </fo:page-sequence>
...
 
</fo:root>
Es können beliebig viele page-sequence-Elemente eingefügt werden, während nur ein layout-master-set-Element existieren darf, in dem alle Seitendefinitionen enthalten sein müssen. Das declarations-Element ist optional und nur dann anzuwenden, wenn das vorhandene in ein anderes Farbprofil geändert wird. Deshalb wird es in den weiteren Beispielen vernachlässigt.
next up previous contents
Nächste Seite: 4.3 Seitendefinition Aufwärts: 4 XSL-FO Vorherige Seite: 4.1 Entstehung   Inhalt
Tanja Schniederberend 2003-06-11