如何将<fo:page-number-citation>存储到变量xsl中

时间:2015-10-12 18:34:23

标签: xslt-1.0

我是xsl的新手。我正在从XSL生成PDF。然后我必须在pdf的末尾添加相同的ppt。所以首先使用xsl创建pdf,然后在pdf末尾使用java代码添加ppt文件。

使用我的最后一页没有由XSL生成,这是正确的(在每页的页脚中显示X的X)但是使用java代码我在pdf中添加了2页。

示例:使用XSL PDf生成7个页面并使用java生成2个页面 但是在pdf中,每页的页脚显示7个中的1个到7个中的7个。 实际上PDf总共有9页(来自xsl的7页和来自Java的2页)我想在页脚中显示9页作为最后一页。

 <xsl:variable name="java_page">2</<xsl:variable>
    <xsl:variable name="last_page"><fo:page-number-citation ref-id="TheVeryLastPage"/></<xsl:variable>

    <fo:inline><xsl:value-of select="$java_page+$last_page"/></fo:inline>

变量java_page存储值2和变量last_page应存储最后一页的值。但最终输出显示NaN。 请帮我解决这个问题

1 个答案:

答案 0 :(得分:0)

使用XSL创建PDF文件有两个阶段。

  1. 使用xsl处理数据以生成.fo文件(此处可以使用变量)
  2. 从.fo文件创建PDF(此处不能使用变量)
  3. 无法将页面#info保存在变量中以供第2阶段使用。

    要解决您的问题,请尝试以下方法:

    1. 使用xsl
    2. 添加2个额外页面
    3. 将您的ppt信息插入最后2页。 不要将ppt作为单独的页面附加,将它们插入现有页面。