テーブルのタイトルに"(Continued)"と出す. (2)

以前テーブルの表題に"(Continued)"と出すのがまともにやると難しいと書きました(http://blogs.yahoo.co.jp/tnakita/13743985.html)が、やはりお客様からこのような要望は寄せられます.FOだけのサンプルですが、すこしまともに出す例を作ったので紹介します.ただし基本的にテーブルの四方に罫線を持つものとします.
 
ポイントは、テーブルの表題を出すfo:table-header/fo:table-rowの書き方です.
 
border-style="hidden"
border-after-style="solid"
border-after-width="0.5pt"
border-after-color="black"
 
と少し入り組んだ指定をします.まず、表題のボーダーは基本的にborder-style="hidden"ですべて非表示にします.これがfo:table/@border-collapse="collapse"(既定値)では、一番強い指定だからです.そしてborder-afterだけ、border-after-style="solid"、border-after-width="0.5pt"、border-after-color="black"として例外的に表示させます.
 
あとは、テーブルの表題を出すfo:table-header/fo:table-row/fo:table-cellで、
 
<fo:block>Table 2.12-2 Normal Table Sample<fo:retrieve-table-marker retrieve-class-name="mcTableTitle"/></fo:block>
 
として、fo:table/fo:table-body/fo:table-row[1]/fo:table-cellに
 
<fo:marker marker-class-name="mcTableTitle"/>
 
と入れて
二行目のfo:table/fo:table-body/fo:table-row[1]/fo:table-cellに
 
<fo:marker marker-class-name="mcTableTitle">
  <fo:inline> (Continued)</fo:inline>
</fo:marker>
 
といれてやるだけです.
 
こうすると以下のように表示できます.とりあえず普通の表なら、標準的なスタイルシートにあまり変更を加えることなしに実現できるでしょう.
 
イメージ 1

このFOとPDFは以下からダウンロードできます.
TableContinued_04.fo: http://yahoo.jp/box/9bt6sM
TableContinued_04.pdf: http://yahoo.jp/box/2rCbUL

このような表示にできる仕組みはXSL-FOの以下の箇所に解説されています.
 
 
もしよろしければ、お使いのスタイルシートに組み込んでいただければと思います.