3. Blöcke

Der Block ist eines der zentralen Konzepte von XSL-FO. Er wird benutzt, um alle möglichen Elemente, wie Tabellen, Bilder, Listen, Absätze usw. in rechteckige Anzeigebereiche einzusetzen. Diese Blöcke können beliebig ineinander verschachtelt werden, um mehrere Blöcke einer Ebene zu bündeln.

Mit der Aneinanderreihung der Blöcke füllt sich die Seite oder Spalte. Blöcke, die als Ganzes nicht mehr in den Seiten- oder Spaltenraum passen, werden nach den gegebenen Umbruchregeln zwischen den Seiten geteilt.

An das Element <fo:block> lassen sich Gestaltungsinformationen aller Art durch entsprechende Attribute binden. Zu ihnen gehören Informationen über die zu verwendenden Fonts, Schriftgrößen, Rahmen, Einzüge, Farben, Hintergrundfarben und -bilder, Silbentrennung usw. Zu beachten ist, dass die meisten dieser Attribute vererbbar sind. Das heißt, dass sie nicht notwendig dem Block beigegeben sein müssen, der den zu setzenden Inhalt direkt enthält, sondern bereits für Elemente spezifiziert sind, die im Stylesheet dem gegebenen Block übergeordnet sind.

Im folgenden Beispiel werden verschiedene Gestaltungen von <fo:block> gezeigt, die aber die Vielzahl an möglichen Gestaltungen nur sehr eingeschränkt zeigen.

<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
   <fo:layout-master-set>
      <fo:simple-page-master master-name="HalloWelt">
         <fo:region-body/>
      </fo:simple-page-master>
   </fo:layout-master-set>
   <fo:page-sequence master-reference="HalloWelt">
      <fo:flow flow-name="xsl-region-body">                         
         <fo:block font-family="Arial" font-size="18pt">                                        (1)
            1. Hallo Welt!!!
         </fo:block>
         <fo:block margin-left="10mm" font-family="Arial" font-size="18pt">                     (2)
            2. Hallo Welt!!!
         </fo:block>
         <fo:block background-color="blue" font-family="Arial" font-size="18pt">                (3)
            3. Hallo Welt!!!
         </fo:block>                         
         <fo:block margin-left="10mm" margin-top="20mm" font-family="Times New Roman" font-size="24pt"> (4)
            4. Hallo Welt!!!                         
         </fo:block> 
         <fo:block font-weight="bold" font-style="italic" font-family="Arial" font-size="18pt"> (5)
            5. Hallo Welt!!!
         </fo:block>                         
         <fo:block border-style="solid" border-width="2pt" margin-left="10mm" margin-right="10mm" 
         font-family="Arial" font-size="18pt">                             (6)                     
            6. Hallo Welt!!!
         </fo:block>
      </fo:flow>                         
   </fo:page-sequence>
</fo:root>

(1) Die beiden Attribute font-family und font-size geben die Schriftart und Schriftgröße an.

(2) Hier wird vom Blockrand ein linker Einzug gesetzt: margin-left. Solche Einzüge oder Abstände könnten auch oben, unten und rechts gesetzt werden: margin-top, margin-bottom und margin-right.

(3) Es stehen eine Vielzahl von Attributen für die Definition von Farben bereit, um wie hier den Hintergrund festzulegen, aber auch um farbige Rahmen zu erzeugen oder farbige Schrift. Hintergrundfarben füllen immer den gesamten Block aus, dessen Dimensionen so sichtbar gemacht werden können.

(4) Hier wird die Verwendung von Einzügen (horizontal) und Vorschüben (vertikal) und einem anderen Font demonstriert.

(5) Die Attribute font-weight und font-style bestimmen die Font­aus­prä­gun­gen (fett, kursiv, in Kombination fett-kursiv).

(6) Blöcke können mit einem Rahmen versehen werden. Die vier Rahmenteile sind dabei auch einzeln, sowohl in ihrer Gestaltung als auch in der Farbe und Stärke bestimmbar. Das Attribut border-style legt hier einen Rahmen in Form einer durchgehenden Linie und border-width legt ihre Breite fest. Zu beachten ist, dass der Rahmen den gegebenen Block umfasst, also außerhalb der Blockgrenzen liegt.

Formatierer-Ansicht

Formatierer-Ansicht

Die zulässigen Attribute für das <fo:block>-Element sind thematisch geordnet die Folgenden. Die deutschsprachigen Erläuterungen zur Funktionalität, ihrer Attributwerte und ihrer Vererbungseigenschaften sind dem Referenzteil zu entnehmen. Die in der Praxis wichtigen Attribute (Eigenschaften) und ihre funktionalen Eigenheiten werden weiter unten behandelt.

Für Hintergründe:

 

Für Rahmen (außerhalb der Blockgrenzen):

Für Schriftarten (Fonts) und Schriftausprägungen:

  • font-model, font-family, font-selection-strategy, font-size, font-stretch, font-size-adjust, font-style, font-variant, font-weight

Für Silbentrennung:

Für Zeilen- bzw. Seitenumbruch:

Für Füllungen und Ränder (innerhalb der Blockgrenzen):

Verschiedenes:

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