Bug 47637 - display-align="after" not working properly on split tab-cell
Summary: display-align="after" not working properly on split tab-cell
Status: CLOSED INVALID
Alias: None
Product: Fop - Now in Jira
Classification: Unclassified
Component: page-master/layout (show other bugs)
Version: all
Hardware: PC Windows 2000
: P2 normal
Target Milestone: ---
Assignee: fop-dev
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-04 07:04 UTC by Guillaume Levrero
Modified: 2012-04-01 13:49 UTC (History)
0 users



Attachments
FO (3.11 KB, application/octet-stream)
2009-08-04 07:04 UTC, Guillaume Levrero
Details
PDF (5.97 KB, application/pdf)
2009-08-04 07:05 UTC, Guillaume Levrero
Details
A solution using table-footer (3.98 KB, text/plain)
2009-08-07 03:30 UTC, Vincent Hennebert
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Guillaume Levrero 2009-08-04 07:04:47 UTC
Created attachment 24094 [details]
FO

When a table-cell break over two pages the display-align="after" attribute set
the content to the bottom of the first page instead of the bottom of the second
page
Comment 1 Guillaume Levrero 2009-08-04 07:05:15 UTC
Created attachment 24095 [details]
PDF
Comment 2 Jeremias Maerki 2009-08-04 12:11:51 UTC
Guillaume, the XSL specification defines display-align in terms of areas and not related to the table-cell. A table-cell produces more than one area if it is broken accross pages. The behaviour in this case is correct IMO. I find nothing in the spec that would support your expectation (although it can make sense).

http://www.w3.org/TR/xsl11/#display-align

In your case, you can try to work-around this by putting the bottom-aligned content in a separate cell and use row-spanning on the first column and a fixed height for the second row with the content that is bottom-aligned. But if that content doesn't always have the same height (more or less), this is probably not going to work. Disclaimer: I haven't verified this myself.

I'm inclined to close this issue as invalid but to be sure, I'd appreciate an opinion from a fellow committer.
Comment 3 Vincent Hennebert 2009-08-07 03:28:24 UTC
(In reply to comment #2)
> Guillaume, the XSL specification defines display-align in terms of areas and
> not related to the table-cell. A table-cell produces more than one area if it
> is broken accross pages. The behaviour in this case is correct IMO. I find
> nothing in the spec that would support your expectation (although it can make
> sense).
> 
> http://www.w3.org/TR/xsl11/#display-align
> 
> In your case, you can try to work-around this by putting the bottom-aligned
> content in a separate cell and use row-spanning on the first column and a fixed
> height for the second row with the content that is bottom-aligned. But if that
> content doesn't always have the same height (more or less), this is probably
> not going to work. Disclaimer: I haven't verified this myself.
> 
> I'm inclined to close this issue as invalid but to be sure, I'd appreciate an
> opinion from a fellow committer.

Confirmed. Guillaume's requirement definitely is valid but unfortunately can't be addressed with display-align="after".

Using a row-span and setting a fixed height on the second row wouldn't work. FOP's support of fixed row heights still is limited.

If doable, you can split the first column's cell in two rows, and put on the second row content that amounts to the same height as the second column's cell  (and play with borders and padding such that the two cells look like a single one).

Another solution would be to put the content of the second cell in the table's footer, in an absolutely-positioned block-container shifted to the top so that it overlaps the table's body (see upcoming attachment). Setting the "bottom" property to "0" should do the job but for some reason it doesn't work. So you have to put a negative value in "top" that is worth the line-height plus the cell's padding-bottom (14pt here).

HTH,
Vincent
Comment 4 Vincent Hennebert 2009-08-07 03:30:24 UTC
Created attachment 24117 [details]
A solution using table-footer
Comment 5 Glenn Adams 2012-04-01 13:49:31 UTC
batch transition to closed remaining pre-FOP1.0 resolved bugs