xmlgraphics-fop-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andreas Delmelle <andreas.delme...@telenet.be>
Subject Re: Question on page wrap
Date Sat, 01 Nov 2008 12:26:42 GMT
On Nov 1, 2008, at 13:08, Sheldon Glickler wrote:

> Andreas Delmelle wrote:
>> On Oct 31, 2008, at 20:03, Sheldon Glickler wrote:
>>> I have a report that has an arbitrary number of columns.  The  
>>> number of columns is such that it would go beyond the page  
>>> width.  Also the number of rows is such that it goes beyond the  
>>> page height.
>> Problematic. XSL-FO 1.1 knows no 'vertical' page-breaks. The table  
>> will only be broken in block-progression-direction (if there is no  
>> keep-property telling us otherwise), and clipped if it doesn't fit  
>> the page in inline-progression-direction.
>> None of your proposed fallbacks are possible in XSL-FO, IIRC. Not  
>> only in FOP, but any implementation...
>> Cheers
>> Andreas
> Wow!  That is **some** major drawback.

On the 'bright' side, I know this particular feature to be among the  
XSL-FO 2.0 requirements...

> First, I am using .20-5 (and cannot upgradee).  I had envisioned  
> doing something with coding.  I know how wide my columns are and  
> how many rows will fit on a page.
> I imagine I could use two loops, one for horizontal and one for  
> vertical.  That would mean, for the horizontal, writing the header  
> block as Header1_1, Header1_2, etc.  I would then have in the XSL  
> templates for Header1_1, FirstColumns1_1, Body1_1, Header1_2,  
> FirstColumns1_2, Body1_2, etc. where FirstColumns1_2 was a repeat  
> of FirstColumns1_1.
> If there were a "page break" instruction, I could then limit the  
> Body1, Body2 to those lines that fit, and then repeat with  
> Header2_1, FirstColumns2_1, Body2_1, Header2_2, FirstColumns2_2,  
> Body2_2, etc. where Header2_1 was a repeat of Header1_1 and  
> FirstColumns2_2 was a repeat of FirstColumns2_1and so on.

You mean, something like: break-before="page" or break-after="page"?  
(see: http://www.w3.org/TR/xsl/#d0e26492)

That was along the lines I was thinking this issue /might/ be  
solvable: pre-compute the breaks and insert them as forced breaks in  
the XSLT. You would have to split the content into multiple tables so  
that the FO processor would always get tables that fit entirely into  
one page.

The downside is that this obviously only works if you know in advance  
precisely how much of the content can be put in one page (bypassing  
much of the layout-computations, by performing them yourself  
beforehand). This could be feasible if all your pages are guaranteed  
to use the same page-master, and all rows are the same height. As  
soon as you have a mixture of one-line and multi-line rows/cells, it  
will already become increasingly difficult to keep track of...



To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org

View raw message