axf:float-move

(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

Category Float Extension Properties >> axf:float-reference / CSS -ah-float-reference

Specifies whether the float moves to the next page (or column).

Value:auto | next | auto-next | auto-move | keep | keep-float
Initial:auto
Applies to:fo:float / floated elements
Inherited:no
Percentages:N/A

Values have the following meanings.

auto Same as keep if float-y is none, same as auto-next otherwise.
next The float is moved to the next page (or column).
auto-next The float is moved to the next page (or column) if there is no sufficient space in the current page (or column).
auto-move The float is moved to the next page (or column) if there is no sufficient space in the current page (or column). It is also possible that the float anchor and around text are moved to the next page (or column) instead.
keep The float and its anchor are always placed on the same page (or column). If there is no sufficient space for that, a page (or column) break occurs before the float anchor and a blank space is left.
keep-float Although it is almost the same as keep, the following points differ. With keep, keep-with-next="always" is automatically set to anchor area and a page break (or column break) is deterred between the next area. However, it is not performed by keep-float. The difference on operation will appear when the height of anchor area is zero.

If both float-x and float-y are none, the object is not floated and the float-move specification is ineffective.

XSL-FO sample:

<fo:root xml:lang="ja" 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">

Antenna House, Inc.

表の泣き別れを float で回避する例

表がページの途中から始まるなどページ内に収まらない場合、表は改ページ部分で分割され泣き別れします。このような場合に fo:float を利用して回避する方法があります。最初に fo:float で表全体を囲みます。更に fo:float で囲んだ表を次のページ(または段)に移動するかどうか指定する axf:float-move と値 auto-next または auto-move によりページで表を分割させず、次のページへ表を移動させます。2ページ目は axf:float-move 指定と各値の特徴、3ページ以降が実例サンプルとなります。

fo:float axf:float-move="auto-next" 指定

ページに表を配置する十分な余白がない場合、表を次のページに移動します。ページの余白の大きさに関係なく表が次のページへ移動するため、ページに大きな余白が生じる場合があります。

fo:float axf:float-move="auto-move" 指定

ページに表を配置する十分な余白がない場合、表を次のページに移動します。表の移動によりページに大きな余白が生じる場合は表を次のページへ移動させずに出力しますが、fo:float で囲んだ表の周りのテキストが次のページに移動します。

fo:float と axf:float-move の指定例

fo:float と axf:float-move は次のように指定します。空の fo:float float="start" は fo:float で囲んだ表の後に配置されるブロックなどが、表が次のページに移動した場合に表の前に配置されないようにするためです。

<fo:float float="start" axf:float-move="auto-next"> <fo:table-and-caption>   : </fo:table-and-caption> </fo:float> <fo:float float="start"/>

通常の表配置

ページに収まらない表はページで分割、泣き別れて出力されます。

以下に自動サイズの表が続きます。

項目1

項目2

項目3

項目4

項目5

金額

備考1

備考2

あいうえお

あいうえお

あいうえお

百万円

サンプル

No.1

あいうえお

あいうえお

あいうえお

あいうえお

680

いろはにほへと

ちりぬるをわか

サンプル

No.2

あいうえお

あいうえお

あいうえお

あいうえお

680

いろはにほへと

ちりぬるをわか

サンプル

No.3

あいうえお

あいうえお

あいうえお

あいうえお

680

いろはにほへと

ちりぬるをわか

サンプル

No.4

あいうえお

あいうえお

あいうえお

あいうえお

680

いろはにほへと

ちりぬるをわか

サンプル

No.5

あいうえお

あいうえお

あいうえお

あいうえお

680

いろはにほへと

ちりぬるをわか

サンプル

No.6

あいうえお

あいうえお

あいうえお

あいうえお

680

いろはにほへと

ちりぬるをわか

サンプル

No.7

あいうえお

あいうえお

あいうえお

あいうえお

680

いろはにほへと

ちりぬるをわか

fo:float と axf:float-move="auto-next" で表を囲んだ例 -1-

ページに表を配置する十分な余白がないため、表は次のページへ移動します。次のページ移動した表はページ先頭から出力されます。

以下に自動サイズの表が続きます。

項目1

項目2

項目3

項目4

項目5

金額

備考1

備考2

あいうえお

あいうえお

あいうえお

百万円

サンプル

No.1

あいうえお

あいうえお

あいうえお

あいうえお

680

いろはにほへと

ちりぬるをわか

サンプル

No.2

あいうえお

あいうえお

あいうえお

あいうえお

680

いろはにほへと

ちりぬるをわか

サンプル

No.3

あいうえお

あいうえお

あいうえお

あいうえお

680

いろはにほへと

ちりぬるをわか

サンプル

No.4

あいうえお

あいうえお

あいうえお

あいうえお

680

いろはにほへと

ちりぬるをわか

サンプル

No.5

あいうえお

あいうえお

あいうえお

あいうえお

</