RE: [xsl] FO: keep strength with larger than a page content

Subject: RE: [xsl] FO: keep strength with larger than a page content
From: <Jarno.Elovirta@xxxxxxxxx>
Date: Fri, 20 Aug 2004 06:59:40 +0300
Hi Ken,

> At 2004-08-19 16:59 +0300, Jarno.Elovirta@xxxxxxxxx wrote:
> >Simply, is there a way around
> ><http://www.dpawson.co.uk/xsl/sect3/keepsNbreaks.html> "[I]n
> XSL-FO 1.0
> >there is no way to have an item that is too long for a page
> begin at the
> >top of a page"?

That's actally a quote from you from the FAQ, and from that I understood that
you can't do it in XSL 1.0.

> The idea of "keep strength" allows you to wrap smaller
> portions of your
> flow with higher strengths.  As blocks of content with low
> strength values
> break because they don't fit on a page, smaller blocks with
> higher values
> of strength are the next "breaking points" for blocks of flow.
>
> You could nest a flow with a keep-together="1" with
> consecutive flows of
> keep-together="2" where you will allow breaks only if
> necessary, and then
> break up any flow with keep-together="2" with consecutive flows of
> keep-together="3" where you will allow breaks in those only
> if necessary,
> and so on.

But still, if you have

  fo:list-item
    fo:list-item-label
      fo:block
    fo:list-item-body
      fo:block
      fo:external-graphic
      fo:block
      fo:external-graphic

where the item body contains e.g. large screen captures and will not fit into
a single page. If I set

  fo:list-item-body keep-together="1"
    fo:block keep-together="2"
      fo:block
      fo:external-graphic
    fo:block keep-together="2"
      fo:block
      fo:external-graphic

Then that should take care of it, but because I have no "wrapper blocks" in
the item body, so should I then create

  fo:list-item-body keep-together="1"
    fo:block keep-together="2"
      fo:block
      fo:external-graphic
      fo:block
      fo:external-graphic

where the block on line two is there just to define the keep block?

Also, should one define the keep-together="1" in the list-item or the
list-item-body? Both

> The catch is that I don't think any of the engines implement
> numeric values
> of keep strength and they only support "always" ... which has
> a different
> semantic than "a very big number".  If you use "always" and
> it doesn't fit,
> then it is considered a runtime overflow error.

Oh bugger, I had assumed AXF 3 would, but it seems it really doesn't. So
that's why it didn't work. Hmm.

> I hope this helps.

Yes, thanks.

Cheers,

Jarno -  Massiv In Mensch: Schach Matt

Current Thread