Re: [xep-support] footnotes within the same table-row

From: Rudolf P. Weinmann <>
Date: Mon Oct 13 2008 - 23:37:00 PDT

>Yes, this is a known issue in XEP.
>And the problem is serious.
>The main part of the problem is that document-order and display-order of
>footnotes in table rows are not the same.
>(Imagine the two-column table with a single row and 2 footnotes, each
>table cell contains its own footnote. And the first-column footnote is
>at the end of the cell while the second-column footnote is at the
>beginning of the corresponding cell.)
>And there is no a formal rule to resolve this inconsistence.
>The current implementation of XEP places anchors of footnotes according
>to their display-order. And one of the reasons for that is clear: anchor
>from "the earlier" column may be placed on the next page.
>Another reason is "circular" processing of table cells within a table
>row. (XEP processes table cells in such a way, because a table rows is
>rather special element in XSL-FO).
>I know that the most simple case where XEP puts footnotes in reverse
>document-order is the following: a table row with a single-line text in
>each cell. And I admit that the document-order and dispaly-order are the
>same in this case.
>If the order of footnotes is important, you may set this order on XSLT
>Here is the idea:
>1. Put all footnotes into the first table cell. These footnotes should
>be "fake" ("fake" is a footnote that has an empty inline)
>2. All footnotes within a table row should have only anchors (i.e. only
>inline part, footnote-body is empty).
>3. Put keep-together on each table cell within a row (I'm not sure, but
>put keep-together on the whole row also). It will ensure the correct
>displaying of footnotes when a row breaks the page.
>The only drawback of this solution I can think of is too high table rows
>(more than page-height).
>Here is a code snippet of the idea on XSLT:
><xsl:template match="fo:table-row/fo:table-cell[1] |
> <fo:table-cell>
> <!-- apply all attributes here -->
> <!-- ... -->
> <!-- create fake footnotes -->
> // for each footnote within this row
> <xsl:for-each select="..//fo:footnote"> <!-- need to be adjusted
>for table cells with @starts-row -->
> <fo:footnote>
> <fo:inline/>
> <!-- put a footnote body here -->
> </fo:footnote>
> </xsl:for-each>
> <!-- the rest of ordinary cell staff here -->
> </fo:table-cell>
><xsl:template match="fo:table-row//fo:footnote">
> <xsl:apply-templates select="fo:inline"/>
> <!-- make the empty body -->
> <fo:footnote-body/>
>I don't test it! :)
>With best regards,
> Alexei Gagarinov

>"The issue with wrong order of footnotes is fixed in 4.12 and requires
>FOOTNOTE_REORDERING=true core option, which is off by default."
>If you are not setting this option in xep.xml, you are not seeing the
>Kevin Brown
>Executive Vice President, Sales & Marketing
>RenderX, Inc.

(*) To unsubscribe, send a message with words 'unsubscribe xep-support'
in the body of the message to from the address
you are subscribed from.
(*) By using the Service, you expressly agree to these Terms of Service
Received on Tue Oct 14 00:37:36 2008

This archive was generated by hypermail 2.1.8 : Tue Oct 14 2008 - 00:37:42 PDT