XSLT/XSL-FO/MathML テクニックページネーション |
|
Q. | ページシーケンスにて、カラム数を変えるように指定した場合、文字が流し込まれるカラムの数は切り替わるのですが、カラムの幅が最初のページ以降変化しません。なぜですか。 [No.2003021403] |
---|---|
A. |
これは XSL Formatter の制限です。 <fo:layout-master-set> <fo:simple-page-master master-name="master_first" page-height="297mm" page-width="210mm" > <fo:region-body margin="10mm" column-count="3"/> </fo:simple-page-master> <fo:simple-page-master master-name="master_rest" page-height="297mm" page-width="210mm"> <fo:region-body margin="10mm" column-count="2"/> </fo:simple-page-master> <fo:simple-page-master master-name="master_last" page-height="297mm" page-width="210mm"> <fo:region-body margin="10mm" column-count="2"/> </fo:simple-page-master> <fo:page-sequence-master master-name="main-sequence"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference="master_first" page-position="first"/> <fo:conditional-page-master-reference master-reference="master_rest" page-position="rest"/> <fo:conditional-page-master-reference master-reference="master_last" page-position="last"/> </fo:repeatable-page-master-alternatives> </fo:page-sequence-master> </fo:layout-master-set> <fo:page-sequence master-reference="main-sequence"> <fo:flow flow-name="xsl-region-body"> . . . </fo:flow> </fo:page-sequence> この例の場合、本来は1ページ目には3段組が作成され、次ページ以降は2段組となります。しかし、XSL Formatter はフロー内部で段組数を切り替えることができません。したがって、2ページ目以降も3段組が作成されてしまいます。(ただし、文字が流し込まれるのは2段組目までです)
XSL Formatter V3.2 にはこの制限はありません。ただし、テーブルの途中でテーブル幅を変更することはできません。 |