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:list-item-body の子要素の fo:block-container の子要素で start-indent="0pt" を指定したのですが、開始辺が fo:list-item-bodystart-indent の位置になります。なぜですか。 [No.2003081503]
A. 

サンプルFO:

<fo:list-item>
  <fo:list-item-label text-align="end" end-indent="label-end()">
    <fo:block>1.</fo:block>
  </fo:list-item-label>
  <fo:list-item-body start-indent="body-start()">
    <fo:block-container>
      <fo:table start-indent="0pt">
        <fo:table-body>
          <fo:table-row>
            <fo:table-cell>
              <fo:block>fo:table start-indent="0pt"</fo:block>
            </fo:table-cell>
          </fo:table-row>
        </fo:table-body>
      </fo:table>
    </fo:block-container>
  </fo:list-item-body>
</fo:list-item>

この場合、fo:block-container には fo:list-item-bodystart-indent が継承されます。そして、fo:table に指定された start-indent はこの fo:block-container によって生成された参照エリアの中で有効です。したがって、この参照エリアはインデントされているので、結果として fo:table の開始辺は fo:list-item-body の start-indent="body-start()" の位置になります。
fo:block-containerstart-indent="0pt" を指定した場合は、参照エリアのインデントがリセットされます。


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