XSL-FO region-bodyオブジェクト

XSL-FO 参考手册XSL-FO リファレンスマニュアル

定義と用法

<fo:region-body> オブジェクトは、ページの本文領域を定義します。

XSL-FO は、ページの領域を定義するために次の要素を使用します:

  • <fo:region-body> は本文領域を定義します
  • <fo:region-before> は上部領域(ヘッダー)を定義します
  • <fo:region-after> は下部領域(フッター)を定義します
  • <fo:region-start> は左部領域(左サイドバー)を定義します
  • <fo:region-end> は右部領域(右サイドバー)を定義します

注意:region-before、region-after、region-start、region-end はすべて region-body の一部です。region-body 内のテキストが他の領域のテキストを覆わないようにするには、region-body のマージンが少なくとも上記の4つのサブ領域のサイズと同じである必要があります。

ヒント:region-body 領域で複数の列を提供するには、column-count 属性を 1 より大きい値に設定する必要があります!/p>

注意:overflow 属性の値が "scroll" の場合、column-count 属性を 1 より大きい値に設定することはできません!

注意:XSL-FO 1.0 バージョンの勧告によると、padding および border-width 属性は 0 でなければなりません。


構文

<fo:region-body>
<!--
Contents:EMPTY
-->
</fo:region-body>

属性

属性 [A-B] 属性 [C-Z]
background-attachment clip
background-color column-count
background-image column-gap
background-repeat display-align
background-position-horizontal end-indent
background-position-vertical margin-bottom
border-after-color margin-left
border-after-style margin-right
border-after-width margin-top
border-before-color overflow
border-before-style padding-after
border-before-width padding-before
border-bottom-color padding-bottom
border-bottom-style padding-end
border-bottom-width padding-left
border-end-color padding-right
border-end-style padding-start
border-end-width padding-top
border-left-color region-name
border-left-style reference-orientation
border-left-width space-after
border-right-color space-before
border-right-style writing-mode
border-right-width
border-start-color
border-start-style
border-start-width
border-top-color
border-top-style
border-top-width

例 1

XSL-FO は、"Page Masters" と呼ばれるページテンプレートを使用してページのレイアウトを定義します。各テンプレートには一意の名前が必要です:

<fo:simple-page-master master-name="intro">
<fo:region-body margin="5in" />
</fo:simple-page-master>

<fo:simple-page-master master-name="left">
<fo:region-body margin-left="2in" margin-right="3in" />
</fo:simple-page-master>

<fo:simple-page-master master-name="right">
<fo:region-body margin-left="3in" margin-right="2in" />
</fo:simple-page-master>

上記の例では、3 つの <fo:simple-page-master> 要素が 3 つの異なるテンプレートを定義しています。各テンプレート(page-master)には異なる名前があります。

最初のテンプレートは "intro" という名前です。これは紹介ページのテンプレートとして使用できます。

2 番目と 3 番目のテンプレートは "left" と "right" という名前です。これらは偶数ページと奇数ページのテンプレートとして使用できます。

例 2

これは、ある XSL-FO ドキュメントから抽出した断片です:

<fo:simple-page-master master-name="A4"
page-width="297mm" page-height="210mm"
margin-top="1cm" margin-bottom="1cm"
margin-left="1cm" margin-right="1cm">
<fo:region-body margin="3cm"/>
<fo:region-before extent="2cm"/>
<fo:region-after extent="2cm"/>
<fo:region-start extent="2cm"/>
<fo:region-end extent="2cm"/>
</fo:simple-page-master>

上記のコードは、"A4" という名前の "Simple Page Master Template" を定義しています。

ページの幅は 297 ミリメートル、高さは 210 ミリメートルです。

ページの 4 つのマージン(上マージン、下マージン、左マージン、右マージン)はすべて 1 センチメートルです。

本文のマージンは 3 センチメートル(四辺すべて)です。

本文の before、after、start、end 領域はすべて 2 センチメートルです。

上記の例における本文の幅は、ページ幅から左右のマージンと region-body のマージンを差し引いて計算できます:

297mm - (2 x 1cm) - (2 x 3cm) = 297mm - 20mm - 60mm = 217mm

region(region-start および region-end)は計算に含まれていないことに注意してください。前に説明したように、これらの領域(region)は本文の一部です。


XSL-FO 参考手册XSL-FO リファレンスマニュアル その他の拡張機能