AH Formatter / XSL Formatter
Q&A



XSLT/XSL-FO/MathML テクニック

ページネーション

トップ
基本・一般
AH Formatter について
XSL Formatter について
操作方法
プログラミング
XSLT/XSL-FO/SVG/MathML 仕様について
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 にはこの制限はありません。ただし、テーブルの途中でテーブル幅を変更することはできません。


Copyright © 1999-2011 Antenna House, Inc. All rights reserved.
Antenna House is a trademark of Antenna House, Inc.