1. Schnellstart

Eine XSL-FO-Datei hat immer das gleiche Grundgerüst. Das Wurzelelement heißt <fo:root>. Kindelemente sind ein <fo:layout-master-set>-, ein optionales <fo:declarations>- und mindestens ein <fo:page-sequence>-Element.

Im <fo:layout-master-set> werden die seitenspezifischen Informationen eingetragen, d. h. die Größe einer Seite, die Ränder, Kopf- und Fußbereich usw.

Die <fo:declarations>-Elemente erlauben, Farbprofile anzulegen, sind aber optional und werden selten eingesetzt, weil sie von den bisher verfügbaren Formatierern bisher noch nicht unterstützt werden.

Die <fo:page-sequence>-Elemente legen die Reihenfolge fest, in der die im <fo:layout-master-set> definierten Seiten erscheinen sollen.

Zu Beginn sei das berühmte „Hello World“-Beispiel eingeführt, um den minimalen Seitenaufbau einer XSL-FO-Datei zu demonstrieren.

<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">    (1)
   <fo:layout-master-set>                                 (2)
      <fo:simple-page-master master-name="HelloWorld">    (3)
         <fo:region-body/>                                (4)
      </fo:simple-page-master>
   </fo:layout-master-set>
   <fo:page-sequence master-reference="HelloWorld">       (5)
      <fo:flow flow-name="xsl-region-body">               (6)      
         <fo:block>Hello World!!!</fo:block>              (7)
      </fo:flow>                         
   </fo:page-sequence>
</fo:root>

Browser-Ansicht

Browser-Ansicht

(1) Das Element <fo:root> ist immer das Wurzelelement eines FO-Dokuments. Es enthält die Namensraum-Deklarationen (namespace), obligatorisch natürlich die für FO selbst:
xmlns:fo="http://www.w3.org/1999/XSL/Format". 
Sollten Sie mit dem Antenna House Formatter arbeiten, so steht der Namensraum für proprietäre Erweiterungen von Antenna House ebenfalls in diesem Element.

(2) Im Element <fo:layout-master-set> erzeugen Sie die Vorlagen für die Seitengestaltung, die Reihenfolge der Seitenvorlagen, definieren Sie die Ränder und Regionen der Seiten. In diesem Beispiel enthält das Element lediglich einen <fo:simple-page-master> und ist damit der denkbar einfachste Fall.

(3) Der <fo:simple-page-master> definiert das Aussehen einer Seite. Hier lassen sich Vorgaben zu Höhe und Breite der Seite machen und verschiedene Ränder und Regionen definieren. In diesem einfachen Beispiel ist keine Spezifikation für die Seitengröße oder die Seitenränder zu entdecken. Diese an und für sich notwendigen Angaben werden durch Vorgabewerte des Formatierers ersetzt. Das Attribut master-name="HelloWorld" gibt dieser Seitengestaltung einen Namen, sodass die Vorgabe in der Seitenfolge (<fo:page-sequence>) aufgerufen werden kann.

Formatter Options

Formatter Options

(4) Das Element <fo:region-body/> legt das Aussehen der Region fest, in der sich der laufende Inhalt innerhalb der Seite befindet.

(5) <fo:page-sequence> legt die Reihenfolge der oben definierten Seitenvorlagen fest und erlaubt die Einbettung des eigentlichen Inhalts in die Seitenfolge. Um den Bezug auf die Seitenvorlage zu haben, wird dem Attribut master-reference der Name dieser Vorlage übergeben, hier also die Seitengestaltung mit dem Namen HelloWorld.

(6) Das Element <fo:flow> gibt an, dass an dieser Stelle der laufende Inhalt eingefügt wird.

(7) Zur Formatierung dieses Inhalts ist mindestens die Einkleidung in ein Block-Element notwendig (<fo:block>). Überschritte dieser Block die Dimensionen der vorgegebenen Body-Region, würde der Formatierer selbstständig den Seitenumbruch durchführen, also den Block zwischen den Seiten teilen. An Stelle eines einfaches Blocks könnten hier auch komplexere Blockstrukturen eingefügt werden, wie Tabellen oder Aufzählungen. In dem einfachen Beispiel enthält dieser Block lediglich den Text Hello World!!!. Die an und für sich notwendigen Angaben für Schriftart, Schriftgröße und einiges mehr werden durch die Vorgabewerte des Formatierers ersetzt.

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema XSL-FO bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © dpunkt.verlag GmbH 2004
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XSL-FO in der Praxis" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

dpunkt.verlag GmbH, Ringstraße 19B, 69115 Heidelberg, fon 06221-14830, fax 06221-148399, hallo(at)dpunkt.de