Re: SV: Re: [xsl] fo spaces

Subject: Re: SV: Re: [xsl] fo spaces
From: Abel Braaksma <abel.online@xxxxxxxxx>
Date: Thu, 15 Mar 2007 12:50:10 +0100
Mati Hadi wrote:
But what happens is that the both block go to the next
page.
Otherwise what is space-after.minimum useful for as a block attribute?
How can I solva such problem? My xslfo is like this:
<fo:block>
some text
</fo:block>
<fo:block margin-left="0.5in" margin-right="0.5in" space-after.optimum="0.51in" space-after.minimum="0pt" space-after.maximum="0.51in" space-after.precedence="force" space-after.conditionality="discard" space-before.minimum="4.49in"
space-before.maximum="0.51in" space-before.precedence="force" space-before.conditionality="discard"
keep-with-next="always">
some text
</fo:block>
<fo:block keep-together.within-page="always">
some text
</fo:block>

Your snippet contains an error, it is not possible to have the same attributes more than once in the same element; cut 'n' paste error?


From Ken Holman's book I understand that these .minimum / .maximum are use in resolving conflicts, not for resolving whether a block remains on a page. Here's what he says about optimum: "All unsuppressed areas whose optimum values are less than the greatest optimum value are then suppressed.".

If you use space.precedence="force", then the optimum value is always used (Ken, do I get this correct?).

The space.maximum and space.minimum are used for unsuppressed areas and are there to prevent that, as a result of precedence and conflict resolution, the space will end up larger than the maximum or smaller than the minimum. The largest of all minimums counts and the smallest of all maximums.

You say you don't understand why the whole block moves, with the next block, to the next page. But you have specified keep-with-next="always", which will keep them together. I don't know enough of your situation (and I don't see enough code) to help you further. Sorry that I can't be of more help.

Cheers,
-- Abel Braaksma

Current Thread