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:blockspace-beforeを指定しました。このスペースはspace-before.conditionality="discard"によって無効になると思ったのですが有効になります。なぜでしょうか。 [No.2008120501]
A. 

FOは次のようになっていました。

<fo:flow>
  <fo:wrapper id="AAAAAA" />
  <fo:block space-before="2.0in">
  AAAAAAAA
  </fo:block>
</fo:flow>

fo:wrapper に id が指定されていると空の area が生成されます。したがってこのspace-beforeが指定されたブロックはページ先頭のエリアではないので、space-beforeは有効となります。

W3C XSL仕様1.1の6.13.4 fo:wrapperには以下のように記述されています。

Areas:
	
The fo:wrapper formatting object returns the sequence of areas created by concatenating 
the sequences of areas returned by each of the children of the fo:wrapper. If this sequence 
contains at least one normal area, or if the "id" and "index-key" properties are not specified 
on the fo:wrapper, then the fo:wrapper does not itself generate any areas.
	
If the sequence of areas returned to the fo:wrapper contains no normal areas, and the "id" or "index-key" 
property is specified on the fo:wrapper, then it additionally generates and returns one normal area 
with inline-progression-dimension and block-progression-dimension set to zero. This area is an 
inline-area except where this would violate the constraint (on some ancestor area) that an area's 
children are all block-areas or all inline-areas, but not a mixture. In that case the fo:wrapper must 
instead generate a block-area.	

fo:wrapperidindex-keyが指定された時は幅ゼロ/高さゼロの空エリアが生成されます。


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