I ran into an issue in current DocBook XSL-FO stylesheet when I was trying to use a column-based table heading in a table that some first-column cell span several rows, like follows:
<informaltable rowheader="firstcol">
<tgroup cols="2">
<tbody>
<row><entry>Row 1 header</entry><entry>Row 1 data</entry></row>
<row><entry morerows="2">Row 2-4 header</entry><entry>Row 2 data</entry></row>
<row><entry>Row 3 data</entry></row>
<row><entry>Row 4 data</entry></row>
</tbody>
</tgroup>
</informaltable>
The expected result is:
| Row 1 header | Row 1 data |
|---|---|
| Row 2-4 header | Row 2 data |
| Row 3 data | |
| Row 4 data |
But the actual generated result is like:
| Row 1 header | Row 1 data |
|---|---|
| Row 2-4 header | Row 2 data |
| Row 3 data | |
| Row 4 data |
It seems that the FO stylesheet gives the heading cell style to the first <entry> element found in each <row>, without considering if the first column was already occupied by a row-spanning cell declared from previous row. Both <table> and <informaltable> are affected.
Please note that DocBook HTML stylesheet is not affected by this issue (though it was affected in past releases like 1.77.1).
Test Docbook XML files, generated XSL-FO intermediate, output PDF file, reference HTML rendering of both <informaltable> and <table> case, and build output are attached as xslfo-table-vheaderspan.zip.
DocBook XML DTD: 4.4
DocBook XSL: 1.79.1
XSLT Processor: XSLTproc 1.1.28
XSL-FO Processor: Apache FOP 2.1
Runtime: Cygwin 1.7.28 32-bit
System: Microsoft Windows XP Professional SP3
Thanks for the report. I checked and indeed the template does not take into account morerows. It just applies the bold to the first entry in each row. Fixing this is a bit more tricky because the template has to keep track of such spans. I'll try to fix it before the next release.