Если ваше требование выводить специальный текст в конце страницы, когда fo: block-container разбивается на несколько страниц, такой функции нет в XSL 1.1 и расширениях от производителей процессоров XSL-FO (насколько я знаю).
Однако, если вы используете fo: table, fo: table-footer, fo: retrieve-table-marker и fo: marker с внешним правилом таблицы и записью без правила для одной строки, можно вывести специальныетекст, когда таблица разбивается на несколько страниц.
[XSL 1.1] 6.7.7 fo: нижний колонтитул таблицы
[XSL 1.1] 6.13.7 fo: retrieve-table-marker = "
[XSL 1.1] 6.13.5 fo: marker
См. пример снимка следующего поста в блоге (на японском языке):
Contin ー ブ ル の タ イ ト に に ((продолжение) "と す す. (3)
В этом примере «Переход к следующей странице» определяется в fo: marker в fo: table-cellи отображается в fo:нижний колонтитул fo: retrieve-table-marker.
Данные выборки:
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<ROWSET2>
<ROWSET2_ROW><PRODUCTNAME>Product1</PRODUCTNAME></ROWSET2_ROW>
<ROWSET2_ROW><PRODUCTNAME>Product2</PRODUCTNAME></ROWSET2_ROW>
...
<ROWSET2_ROW><PRODUCTNAME>Product24</PRODUCTNAME></ROWSET2_ROW>
<ROWSET2_ROW><PRODUCTNAME>Product25</PRODUCTNAME></ROWSET2_ROW>
</ROWSET2>
</ROOT>
Код примера:
<xsl:template match="ROOT">
<fo:table width="100%">
<fo:table-header>
<fo:table-cell>
<fo:block xsl:use-attribute-sets="header">Product:
</fo:block>
</fo:table-cell>
</fo:table-header>
<fo:table-footer>
<fo:table-row>
<fo:table-cell>
<fo:retrieve-table-marker
retrieve-class-name="test123"/>
</fo:table-cell>
</fo:table-row>
</fo:table-footer>
<fo:table-body>
<xsl:for-each select="ROWSET2/ROWSET2_ROW">
<fo:table-row>
<fo:table-cell>
<fo:block xsl:use-attribute-sets="paragraph indented">
<xsl:choose>
<xsl:when test="position() = 1">
<fo:marker marker-class-name="test123">
<fo:block xsl:use-attribute-sets="indented" color="teal">To be continued...</fo:block>
</fo:marker>
</xsl:when>
<xsl:when test="position() = last()">
<fo:marker marker-class-name="test123"/>
</xsl:when>
</xsl:choose>
<xsl:value-of select="PRODUCTNAME" />
<xsl:if test="position()=last()">
<fo:inline> Last</fo:inline>
</xsl:if>
</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:for-each>
</fo:table-body>
</fo:table>
</xsl:template>
Результат выборки: