fo:flow

(Auszug aus "XSL-FO ― Die Referenz" von Manuel Montero Pineda & Steffen Herkert, 2016, dpunkt.verlag)

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

Recommendationnummer: 6.4.19

Kategorie: 6.4 Declarations and Pagination and Layout Formatting Objects

Beschreibung

Textfluss-Objekt; erzeugt in einer Seitenfolge (<fo:page-sequence>) den fließenden Bereich für den Haupttext, der den Inhalt des Dokuments bildet.

XSL-FO Version: 1.0

Elternelemente

<fo:page-sequence> In diesem Element wird festgelegt, wie die Seitenfolge(n) innerhalb eines Dokuments verwendet werden. Außerdem wird hier der Inhalt des Dokuments in die Seitenfolge eingebettet.

Kindelemente

<fo:block> Dieses Element erzeugt einen rechteckigen Bereich, innerhalb dessen eine Vielzahl von Elementen (z. B. Tabellen, Listen, Grafiken) erlaubt sind. Mithilfe von Attributen können diverse Einstellungen zur Gestaltung vorgenommen werden. Blöcke können beliebig ineinandergeschachtelt werden. Informationen aus übergeordneten Blöcken werden übernommen, falls für den untergeordneten Block keine anderen Einstellungen gemacht werden (Vererbung).
<fo:block-container> Innerhalb von Block-Containern lassen sich beliebig viele Blöcke zusammenfassen. Für den Container können durch Attribute Einstellungen für die gewünschte Positionierung im Dokument vorgenommen werden.
<fo:change-bar-begin> Dieses Element stellt den Anfang eines "Änderungsbereichs" dar, der durch sein passendes fo:change-bar-end beendet wird. Der Änderungsbereich ist mit einem Änderungsbalken ausgestattet, der entweder am Anfang oder am Ende der Spaltenkante entlang verläuft. Das Aussehen des Änderungsbalkens wird durch den Wert einiger entsprechender Eigenschaften bestimmt.
<fo:change-bar-end> Dieses Element stellt das Ende eines "Änderungsbereichs" dar, der durch sein passendes fo:change-bar-begin gestartet wird.
<fo:float> Dieses Element ermöglicht die Platzierung von Inhalten in Relation zu einem Anzeigenblock (Anwendungsbeispiele: Text, der Grafiken umfließen soll; Erzeugung von Marginalien).
<fo:index-range-begin> Dieses Element stellt den Anfang eines "indexierten Bereichs" dar, der mit einem Index-Schlüssel verbunden ist. Dieser Index-Bereich wird durch ein entsprechendes fo:index-­range-end abgeschlossen.
<fo:index-range-end> Dieses Element stellt das Ende eines "indexierten Bereichs" dar, der durch sein entsprechendes fo:index-range-begin gestartet wird.
<fo:list-block> Dieses Element erzeugt einen Bereich zur Darstellung einer Liste bzw. Aufzählung.
<fo:multi-properties> Mit diesem Element lässt sich zwischen verschiedenen Eigenschaftsmengen hin und her wechseln.
<fo:multi-switch> Mit diesem Element kann man zwischen verschiedenen Teilbäumen von Formatierungsobjekten hin und her wechseln.
<fo:retrieve-marker> Dieses Element ruft den in <fo:marker> markierten Bereich auf (Anwendungsbeispiel: Kolumnentitel).
<fo:retrieve-table-marker> Das Element erlaubt es, in Zusammenarbeit mit <fo:marker> Wiederholungen von Bereichen in Tabellen zu erzielen.
<fo:table> Dieses Element erzeugt eine Tabelle.
<fo:table-and-caption> Dieses Element erzeugt eine Tabelle samt Tabellenüber- oder -unterschrift.
<fo:wrapper> Für eine Gruppe von Formatierungsobjekten können in <fo:multi-properties> Eigenschaften angegeben werden.

Attribute

flow-name Dieses Attribut gibt einem statischen Bereich (fo:static-content) oder einem (Text-)Flussbereich (fo:flow) einen Namen. Anhand dieses Namens kann der Inhalt dann den jeweiligen Bereichen (fo:region-before, fo:region-after, fo:region-start, fo:region-end, fo:region-body) oder nur bei (Text-)Flussbereichen dem dafür vorgesehenen Bereich in einer fo:flow-map zugeordnet werden.
id Dieses Attribut dient der eindeutigen Kennzeichnung eines Objekts, auf das dann von anderen Objekten aus verwiesen werden kann.
index-class Mit diesem Attribut lässt sich eine Indexklasse für einzelne Indexeinträge (index-key) oder für einen ganzen Bereich definieren. Alle Indexeinträge in dem entsprechenden Bereich gehören dann dieser Indexklasse an. Wird nun auf Indexeinträge referenziert (fo:index-key-reference), die verschiedenen Klassen angehören, werden die entsprechenden Seitenzahlen getrennt voneinander aufgeführt, selbst wenn sie auf aufeinanderfolgenden Seiten stehen. Beispielsweise wird "1-8" durch "1-4,5-8" ersetzt, wenn die Einträge auf den Seiten 1-4 alle derselben Klasse angehören und die Seiten 5-8 einer anderen Klasse. Dies kann zur Anwendung kommen, wenn Seiten in unterschiedliche Bereiche mit unterschiedlichen Nummerierungen gegliedert werden. Eine Nummerierung wie "I-14" kann so vermieden und durch "I-V,1-14" ersetzt werden.
index-key Mit diesem Attribut lässt sich ein Indexeintrag definieren. Der übergebene Wert wird als Bezeichner des Indexeintrags verwendet. Über eine Referenz eines Indexeintrags (fo:index-key-reference) kann auf alle Einträge mit diesem Bezeichner referenziert und deren Seitenzahlen können so einer Liste von Seitenzahlreferenzen (fo:index-page-citation-list) hinzugefügt werden.

Unterstützung:

Conformance Level Antenna House FOP RenderX XEP Altsoft XML2PDF Compart DocBridge
Basic J J J J J

XSL-FO Beispiel:

<fo:root font-family="Arial" font-size="10pt" line-height="1.2em" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:cpfo="http://www.compart.net/xmlns/cpfo" xmlns:svg="http://www.w3.org/2000/svg" xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions">

Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte, fand er sich in seinem Bett zu einem ungeheueren Ungeziefer verwandelt. Er lag auf seinem panzerartig harten Rücken und sah, wenn er den Kopf ein wenig hob, seinen gewölbten, braunen, von bogenförmigen Versteifungen geteilten Bauch, auf dessen Höhe sich die Bettdecke, zum gänzlichen Niedergleiten bereit, kaum noch erhalten konnte. Seine vielen, im Vergleich zu seinem sonstigen Umfang kläglich dünnen Beine flimmerten ihm hilflos vor den Augen.

</fo:flow>

</fo:root>

Download der Beispiele

Darstellung des Elementes in der XSL-FO-Referenz

In der Ausgabe:

Auszug aus der W3C recommendation:

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