fo:float

(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.12.2

Kategorie: 6.12 Out-of-line Formatting Objects

Beschreibung

Dieses Element ermöglicht die Platzierung von Inhalten in Relation zu einem Anzeigenblock (Anwendungsbeispiele: Text, der Grafiken umfließen soll; Erzeugung von Marginalien).

XSL-FO Version: 1.0

Elternelemente

<fo:basic-link> , <fo:bidi-override> , <fo:block> , <fo:block-container> , <fo:float> , <fo:flow> , <fo:folio-prefix> , <fo:folio-suffix> , <fo:footnote-body> , <fo:index-page-citation-list-separator> , <fo:index-page-citation-range-separator> , <fo:index-page-number-prefix> , <fo:index-page-number-suffix> , <fo:inline> , <fo:inline-container> , <fo:leader> , <fo:list-item-body> , <fo:list-item-label> , <fo:marker> , <fo:multi-case> , <fo:multi-toggle> , <fo:static-content> , <fo:table-caption> , <fo:table-cell> , <fo:title> und <fo:wrapper>

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

clear Mit diesem Attribut lässt sich für ein Objekt, das umflossen werden kann (fo:float) (typischerweise eine Abbildung), festlegen, ob dieses links/rechts/beidseitig von sich ein weiteres Element duldet, das ebenfalls umflossen werden kann, oder ob es immer erst dort im Textfluss positioniert werden soll, wo bereits ein anderes zu umfließendes Objekt beendet ist.
float Mit diesem Attribut wird festgelegt, wo ein zu umfließendes Objekt (fo:float) in Relation zu seinem übergeordneten Bereich positioniert werden soll.
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
Extended J N J J P

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

fo:float float="before"

fo:float float="left"

fo:float float="right"

fo:float float="start"

fo:float float="end"

fo:float float="none"

Er glitt wieder in seine frühere Lage zurück. »Dies frühzeitige Aufstehen«, dachte er, »macht einen ganz blödsinnig. Der Mensch muß seinen Schlaf haben. Andere Reisende leben wie Haremsfrauen. Wenn ich zum Beispiel im Laufe des Vormittags ins Gasthaus zurückgehe, um die erlangten Aufträge zu überschreiben, sitzen diese Herren erst beim Frühstück. Das sollte ich bei meinem Chef versuchen; ich würde auf der Stelle hinausfliegen. Wer weiß übrigens, ob das nicht sehr gut für mich wäre. Wenn ich mich nicht wegen meiner Eltern zurückhielte, ich hätte längst gekündigt, ich wäre vor den Chef hin getreten und hätte ihm meine Meinung von Grund des Herzens aus gesagt. Vom Pult hätte er fallen müssen! Es ist auch eine sonderbare Art, sich auf das Pult zu setzen und von der Höhe herab mit dem Angestellten zu reden, der überdies wegen der Schwerhörigkeit des Chefs ganz nahe herantreten muß. Nun, die Hoffnung ist noch nicht gänzlich aufgegeben; habe ich einmal das Geld beisammen, um die Schuld der Eltern an ihn abzuzahlen - es dürfte noch fünf bis sechs Jahre dauern - , mache ich die Sache unbedingt. Dann wird der große Schnitt gemacht. Vorläufig allerdings muß ich aufstehen, denn mein Zug fährt um fünf.«

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.

»Was ist mit mir geschehen?«, dachte er. Es war kein Traum. Sein Zimmer, ein richtiges, nur etwas zu kleines Menschenzimmer, lag ruhig zwischen den vier wohlbekannten Wänden. Über dem Tisch, auf dem eine auseinandergepackte Musterkollektion von Tuchwaren ausgebreitet war - Samsa war Reisender - hing das Bild, das er vor kurzem aus einer illustrierten Zeitschrift ausgeschnitten und in einem hübschen, vergoldeten Rahmen untergebracht hatte. Es stellte eine Dame dar, die mit einem Pelzhut und einer Pelzboa versehen, aufrecht dasaß und einen schweren Pelzmuff, in dem ihr ganzer Unterarm verschwunden war, dem Beschauer entgegenhob.

Gregors Blick richtete sich dann zum Fenster, und das trübe Wetter - man hörte Regentropfen auf das Fensterblech aufschlagen - machte ihn ganz melancholisch. »Wie wäre es, wenn ich noch ein wenig weiterschliefe und alle Narrheiten vergäße«, dachte er, aber das war gänzlich undurchführbar, denn er war gewöhnt, auf der rechten Seite zu schlafen, konnte sich aber in seinem gegenwärtigen Zustand nicht in diese Lage bringen. Mit welcher Kraft er sich auch auf die rechte Seite warf, immer wieder schaukelte er in die Rückenlage zurück. Er versuchte es wohl hundertmal, schloß die Augen, um die zappelnden Beine nicht sehen zu müssen, und ließ erst ab, als er in der Seite einen noch nie gefühlten, leichten, dumpfen Schmerz zu fühlen begann.

»Ach Gott«, dachte er, »was für einen anstrengenden Beruf habe ich gewählt! Tag aus, Tag ein auf der Reise. Die geschäftlichen Aufregungen sind viel größer, als im eigentlichen Geschäft zu Hause, und außerdem ist mir noch diese Plage des Reisens auferlegt, die Sorgen um die Zuganschlüsse, das unregelmäßige, schlechte Essen, ein immer wechselnder, nie andauernder, nie herzlich werdender menschlicher Verkehr. Der Teufel soll das alles holen!« Er fühlte ein leichtes Jucken oben auf dem Bauch; schob sich auf dem Rücken langsam näher zum Bettpfosten, um den Kopf besser heben zu können; fand die juckende Stelle, die mit lauter kleinen weißen Pünktchen besetzt war, die er nicht zu beurteilen verstand; und wollte mit einem Bein die Stelle betasten, zog es aber gleich zurück, denn bei der Berührung umwehten ihn Kälteschauer.

Als er dies alles in größter Eile überlegte, ohne sich entschließen zu können, das Bett zu verlassen - gerade schlug der Wecker dreiviertel sieben - klopfte es vorsichtig an die Tür am Kopfende seines Bettes.

</fo:flow>

</fo:root>

Download der Beispiele

Weitere Informationen online zu

Einführung "Das Float-Konzept">

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: