XSL-FO ドキュメント

XSL-FO 文書は出力情報を持つ XML ファイルです。

XSL-FO ドキュメント

XSL-FO 文書は出力情報を持つ XML ファイルです。これには出力レイアウトや出力内容に関する情報が含まれています。

XSL-FO 文書は .fo または .fob でエンディングされたファイルに保存されます。.xml でエンディングされた XSL-FO 文書もよく見られます。これにより、XSL-FO 文書は XML エディタでアクセスしやすくなります。

XSL-FO 文書の構造

XSL-FO の文書構造はこんな感じです:

<?xml version="1.0" encoding="ISO-8859-1"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
  <fo:simple-page-master master-name="A4">
    <!-- ページテンプレートがここに来ます -->
  </fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="A4">
  <!-- ページ内容がここに来ます -->
</fo:page-sequence>
</fo:root>

構造説明

XSL-FO 文書は XML 文書に属します。なぜなら、XML 声明で始まる必要があるからです:

<?xml version="1.0" encoding="ISO-8859-1"?>

<fo:root> 要素は XSL-FO 文書の根要素です。この根要素も XSL-FO の名前空間を宣言する必要があります:

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
  <!-- ここに XSL-FO 文書の内容があります -->
</fo:root>

<fo:layout-master-set>要素は1つまたは複数のページテンプレートを含んでいます:

<fo:layout-master-set>
  <!-- ここにはすべてのページテンプレートがあります -->
</fo:layout-master-set>

<fo:simple-page-master>要素は1つのページテンプレートを含みます。各テンプレートはユニークな名前(master-name)を持たなければなりません:

<fo:simple-page-master master-name="A4">
  <!-- ここは特定のページテンプレート -->
</fo:simple-page-master>

1つまたは複数の<fo:page-sequence>要素がページの内容を説明できます。master-reference属性は同じ名前を使用してsimple-page-masterテンプレートを参照します:

<fo:page-sequence master-reference="A4">
  <!-- ここはページ内容 -->
</fo:page-sequence>

注釈:master-referenceの値「A4」は実際には特定のプレセットページフォーマットを説明していません。それは単なる名前です。例えば「MyPage」、「MyTemplate」など、どんな名前でも使用できます。