I am trying to determine why the following XSLFO code does not make the table cell and as a consequence, the contained image, 25% of the page height:
<fo:table table-layout="auto" border-collapse="collapse" keep-together.within-page="always">
<fo:table-body>
<fo:table-row>
<fo:table-cell block-progression-dimension.maximum="25pvh">
<fo:block>
<fo:external-graphic
scaling="uniform"
src="images/tall.png"
content-height="scale-down-to-fit"
inline-progression-dimension.maximum="auto"
inline-progression-dimension.optimum="auto"
inline-progression-dimension.minimum="auto"
block-progression-dimension.minimum="auto"
block-progression-dimension.optimum="auto"
block-progression-dimension.maximum="100%" />
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
The output is:
I'd expect the table cell, and as a consequence, the embedded tall image (which is higher than the page height at its intrinsic size), to be at max 25% of the page height, due to setting <fo:table-cell block-progression-dimension.maximum="25pvh">.
Why is the table with its single cell still 100% of the available content height?

Use:
Was:
Either move the
block-progression-dimension.maximum="25pvh"to thefo:table-rowor useheighton thefo:table-cell.I am checking to see whether it is an Antenna House Formatter bug, but the current result might be because a row with
autorow height uses the actual height of the content of its table cells.https://www.w3.org/TR/xsl11/#height refers to http://www.w3.org/TR/REC-CSS2/tables.html for the height of table rows.
https://www.w3.org/TR/CSS2/tables.html#height-layout includes:
and:
From https://www.w3.org/TR/xsl11/#fo_table-cell:
The
fo:table-rowdefinition has a similar statement, but the 'row-height' trait isn't actually defined in XSL 1.1.You haven't restricted the height of the content of the
fo:table-cell, so the row is taking the height of the cell's content.From https://www.w3.org/TR/xsl11/#fo_external-graphic: