You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by Andreas L Delmelle <a_...@pandora.be> on 2007/01/13 17:37:18 UTC

Re: svn commit: r494416 - /xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/Table.java

On Jan 9, 2007, at 15:22, vhennebert@apache.org wrote:

> Author: vhennebert
> Date: Tue Jan  9 06:21:59 2007
> New Revision: 494416
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=494416
> Log:
> In relaxed validation mode, it should be acceptable to have  
> fo:table-footer /after/ fo:table-body

Just a little note about this. I'm not vetoing this change but I  
would certainly not recommend it. Allowing a table-footer as last  
element in the table drastically increases the complexity of layout  
of multi-page tables.

True, in the current design, the whole table is present when layout  
beings (so that means flow.Table.tableFooter will be non-null if  
there is a footer), but consider the difficulties if we were to alter  
this interaction, and begin layout for the Table before the end of  
the table is reached. At that point, the footer might not yet be  
present, and we would again be stuck in a situation where we need to  
have the entire table in memory...

Just a thought.


Cheers,

Andreas


Re: svn commit: r494416 - /xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/Table.java

Posted by Vincent Hennebert <vi...@anyware-tech.com>.
Hi Andreas,

Andreas L Delmelle a écrit :
> On Jan 9, 2007, at 15:22, vhennebert@apache.org wrote:
> 
>> Author: vhennebert
>> Date: Tue Jan  9 06:21:59 2007
>> New Revision: 494416
>>
>> URL: http://svn.apache.org/viewvc?view=rev&rev=494416
>> Log:
>> In relaxed validation mode, it should be acceptable to have
>> fo:table-footer /after/ fo:table-body
> 
> Just a little note about this. I'm not vetoing this change but I would
> certainly not recommend it. Allowing a table-footer as last element in
> the table drastically increases the complexity of layout of multi-page
> tables.
> 
> True, in the current design, the whole table is present when layout
> beings (so that means flow.Table.tableFooter will be non-null if there
> is a footer), but consider the difficulties if we were to alter this
> interaction, and begin layout for the Table before the end of the table
> is reached. At that point, the footer might not yet be present, and we
> would again be stuck in a situation where we need to have the entire
> table in memory...
> 
> Just a thought.

Well, personally I would probably not have changed anything if I hadn't
been asked to, you know... It seems that documents with fo:table-footer
after fo:table-body are quite common in real world cases.

Now I understand your concern. What I propose to do is the following:
1. display a warning that putting table-footer after table-body is evil,
   even in relaxed validation mode;
2. throw an error if the enclosing table has
   "table-omit-footer-at-break" = false and a table-footer is discovered
   after table-body. That's the only case where there would be a
   negative impact on performance, IIC.

I think if we choose 2. then we can forget 1.

WDYT?
Vincent