XSL-FO ページ
- 前のページ XSLFO ストリーム
- 次のページ XSLFO ブロック
XSL-FOは「ページマスター」と呼ばれるページテンプレートを使用してページのレイアウトを定義します。
XSL-FOページテンプレート
XSL-FOは「ページマスター」と呼ばれるページテンプレートを使用してページのレイアウトを定義します。各テンプレートにはユニークな名前が必要です:
<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」と名付けられており、紹介ページのテンプレートとして使用できます。
二番目と三番目のテンプレートは「left」と「right」と名付けられており、偶数と奇数ページのページに使用できます。
XSL-FO ページサイズ
XSL-FOは以下の属性を使用してページのサイズを定義します:
- page-width
- ページの幅を定義します
- page-height
- ページの高さを定義します
XSL-FO ページ余白
XSL-FOは以下の属性を使用してページの余白を定義します:
- margin-top
- 上余白を定義します
- margin-bottom
- 下余白を定義します
- margin-left
- 左余白を定義します
- margin-right
- 右余白を定義します
- margin
- すべての辺の余白を定義します
XSL-FO ページ区域(Page Regions)
XSL-FOは以下の要素を使用してページの区域を定義します:
- region-body
- 本文区域を定義します
- region-before
- 顶部区域(ページヘッダー)を定義します
- region-after
- 底部区域(ページフッター)を定義します
- region-start
- 左側区域(左側の欄)を定義します
- region-end
- 右側区域(右側の欄)を定義します
注記:region-before、region-after、region-start そして region-end は本文区域の一部です。本文区域のテキストがこれらの区域に被るのを避けるために、テーマ区域の余白は他の区域のサイズと同じかそれ以上に設定する必要があります。
図示:

XSL-FO インスタンス
これはある 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」を定義しています。
ページの幅は 297mm、高さは 210mm です。
ページの4つのマージンはすべて 1cm です。
主体のマージンは 3cm(すべての4辺)です。
before、after、start、end エリアはすべて 2cm です。
上記の例では、主体の幅はページの幅から左右のマージンおよび region-body のマージンを減じて計算されます:
297mm - (2 x 1cm) - (2 x 3cm) = 297mm - 20mm - 60mm = 217mm.
注記:region (region-start と region-end) は計算されていません。以前に説明したように、これらのエリア(region)は主体の一部です。
- 前のページ XSLFO ストリーム
- 次のページ XSLFO ブロック