AH Formatter / XSL Formatter
Q&A



XSLT/XSL-FO/SVG/MathML Conformance

XSL-FO

Top
Basic, General
About AH Formatter
About XSL Formatter
Operation
Programming
XSLT/XSL-FO/SVG/MathML Conformance
XSLT/XSL-FO/MathML Technics
Index
Q.  I specified block space-before="2.0in" at the beginning of the page. However, a space is not created. Why? [No.2002102507]
A. 

For example, In the following FO, space-before="2.0in" doesn't become effective.

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

Space conditionality at the beginning or end of a reference-area or a line-area is one whose default value is "discard". Therefore, if you specify space-before="2.0in" to the start block of a reference-area, it's considered to be invalid.

The following example also shows the same behavior.

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

When there are no space or border/padding which are acceptable to be discarded in the parent block, the first child block becomes the target one and space-before="2.0in" specified to the child block becomes invalid because space-before.conditionality="discard".

Therefore, if you want to make space-before effective, you need to specify "retain" to space-before.conditionality.

<fo:flow>
  <fo:block space-before="2.0in" space-before.conditionality="retain">
  AAAAAAAA
  </fo:block>
</fo:flow>

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