AH Formatter / XSL Formatter
Q&A



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

空白

トップ
基本・一般
AH Formatter について
XSL Formatter について
操作方法
プログラミング
XSLT/XSL-FO/SVG/MathML 仕様について
XSLT/XSL-FO/MathML テクニック
索引
Q.  space-before にマイナス値を指定したのですが、その前の行に重なりません。なぜですか。 [No.2004032510]
A. 

例えば、次のようなFOです。

<fo:block>Sample1</fo:block>
<fo:block space-before="-1cm">Sample2</fo:block>

W3CのXSL-FO仕様の勧告には以下のようにあります。

4.3.1. Space-resolution Rules

3. Alternatively if all of the remaining space-specifiers in S' are non-forcing, then the resolved spacespecifier is defined in terms of those non-suppressed space-specifiers whose precedence is numerically highest, and among these those whose optimum value is the greatest. All other space-specifiers are suppressed. If there is only one of these then its value is taken as its resolved value. Otherwise, follow these rules when there are two or more space-specifiers all of the same highest precedence and the same (largest) optimum: The resolved space-specifier of the last space-specifier in the sequence is derived from these spaces by taking their common optimum value as its optimum.
The greatest of their minimum values is its minimum. The least of their maximum values is its maximum. All other space-specifiers are suppressed.

直前の fo:block には space-after の指定がありません。その値は0です。サンプルの "Sample1" のblockの space-after と "Sample2" の space-before が比較され、space-after="0in" が適用されます。 space-before.precedence="force" を指定すると、その space-before の値は強制されます。


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