AH Formatter / XSL Formatter
Q&A



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

ページネーション

トップ
基本・一般
AH Formatter について
XSL Formatter について
操作方法
プログラミング
XSLT/XSL-FO/SVG/MathML 仕様について
XSLT/XSL-FO/MathML テクニック
索引
Q.  ページシーケンスマスタで、fo:conditional-page-master-reference に、それぞれpage-position="first"、page-position="rest"、page-position="any" を指定しました。しかし最終ページに page-position="rest" を指定したfo:conditional-page-master-referenceが適用されません。なぜですか。 [No.2002112902]
A. 

送られてきた FO は次のようになっていました。

<fo:layout-master-set>
    <fo:simple-page-master master-name="firstpage" page-height="210mm" page-width="297mm">
                .
                .
                .
    </fo:simple-page-master>

    <fo:simple-page-master master-name="restpage" page-height="210mm" page-width="297mm">
                .
                .
                .
    </fo:simple-page-master>

    <fo:simple-page-master master-name="blankpage" page-height="210mm" page-width="297mm">
                .
                .
                .
    </fo:simple-page-master>

    <fo:page-sequence-master master-name="document">
        <fo:repeatable-page-master-alternatives>
            <fo:conditional-page-master-reference page-position="first" master-reference="firstpage"/>
            <fo:conditional-page-master-reference page-position="rest" master-reference="restpage"/>
            <fo:conditional-page-master-reference page-position="any" master-reference="blankpage"/>
        </fo:repeatable-page-master-alternatives>
    </fo:page-sequence-master>
</fo:layout-master-set>
            .
            .
            .
            .

W3Cの勧告7.25.14 "page-position" の"rest"の説明には次のように書かれています。

This master is eligible for selection if this is not the first page nor the last page in the page-sequence.

page-position="rest" は page-position="first"と page-position="last" 以外のページに適応されます。上記のFOにはpage-position="last"を指定した fo:conditional-page-master-reference がありません。
XSL Formatter は fo:repeatable-page-master-alternatives の中に適合する fo:conditional-page-master-reference がない場合、エラーメッセージを出さず、fo:repeatable-page-master-alternative 内の最後の fo:conditional-page-master-reference を次候補として使用して、組版を続行させる仕様になっています。
したがって、上記の FO の場合は page-position="any" が指定されている fo:conditional-page-master-reference が次候補になりますので、これを使用して最終ページが組版されます。
ただし、「間違った FO 」を組版していますので、その結果がどうなるかは保証されません。


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