Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#1246 fo table row bug

closed-fixed
XSL (1066)
5
2014-01-20
2012-07-25
Bryan Bender
No

Issue within XSL 1.77.1 “fo\table.xsl” row template.

If entry/@morerows exists which sets the browserows parameter equal to ’recurse’ and an “empty” row exists that causes selection of the row template’s otherwise branch, the following-sibling::row[1] apply template does not include the browserows parameter. Because this is not included, only the immediate following row is created, and any following rows are dropped from the output.

Adding the missing parameter <xsl:with-param name="browserows" select="$browserows"/> on line 798 solves the issue

Discussion

  • Bryan Bender
    Bryan Bender
    2012-07-25

    • summary: table row bug --> fo table row bug
     
  • It seems like you are right that there is a missing xsl:with-param. But I want to test this for myself and I would like a small test document that can be used to reproduce the problem. Can you please attach one?

     
    • assigned_to: nobody --> mzjn
     
  • Bryan Bender
    Bryan Bender
    2013-10-16

    Hi Mauritz,

    I've attached a sample docbook xml file with the table markup causing the issue. This is a markup corner case introduced during table editing in Arbortext. The XML itself can be cleaned up to prevent the dropped table rows by removing the unneeded @morerows attribute and the empty row.

    However, this is still a DocBook issue that can be easily resolved by adding the missing parameter specified before. The issue starts when @morerows exists on an entry. This triggers the table stylesheet to "recurse" or manually apply each following row from the row being processed, instead of applying all of the rows from the parent level thead/tbody/tfoot. When an empty row is processed, it causes selection of the otherwise branch from the template (since the spans parameter does not have a 0). In that branch the browserows parameter is not passed, therefore causing the "normal-row" template to not apply the following row, causing all of the following rows after the empty row not to be created.

    When publishing using FOP the processor throws an error: "The column-number or number of cells in the row overflows the number of fo:table-columns specified for the table."

    However, when publishing through Antenna House the table is published with rows missing.

    Thank you,
    Bryan

     
    Attachments
  • Bryan Bender
    Bryan Bender
    2013-10-16

    I've also attached the PDF output from Antenna House to illustrate the dropped content.

    As clarification, the row after the empty row is created, however, any rows following that row are not created.

     
    Attachments
  • Thanks for the test document. Fixed in SVN!

     
    • status: open --> pending-fixed
     
  • Robert Stayton
    Robert Stayton
    2014-01-20

    • Status: pending-fixed --> closed-fixed