xslt fo:marker有时不显示正确的内容

时间:2013-10-03 06:28:46

标签: xslt apache-fop

我正在使用xslt 1.0

我有一个标题,应该使用其中一个递归方法更新一些信息,这些方法在页面序列中创建一个表(例如,节点id)。 有时表格中的信息应该分为两页(内容应该流向下一页的表格)。 当流程发生时,标记显示错误的信息。 这是我如何定义标记:

<fo:retrieve-marker retrieve-class-name="stepID" retrieve-boundary="page-sequence"/>

这是我如何设置标记:

<fo:marker retrieve-boundary="page" marker-class-name="stepID" retrieve-position="first-starting-within-page"><xsl:value-of select="$curStepCatId"/></fo:marker>

我不确定是什么导致了这个错误,我尝试了不同的检索边界和不同的检索位置,但都失败了。 如果我在使用检索进行设置之前使用消息显示该值,则会获得正确的值。

当提到错误的值时,我的意思是它显示下一个节点的id而不是当前的。

顺便说一句,我根本没有在xslt中设置分页符。

这是流程的方式:

  • 页面序列
    • 通话模板
      • 调用模板 - 递归
        • 调用模板 - 可选(有时会这样做,有时却没有)
        • 调用模板 - 递归
          • 调用模板 - 递归
            • 通话模板
            • 调用模板 - 递归
            • 调用模板 - 递归
            • 包含标记
            • 的块
            • 阻止包含递归调用模板的表的内容。
            • 阻止包含递归调用模板的表的内容。

我的问题在于包含表格的页面...如果表格在1页面中,那么一切都没有问题,但是如果它流向另一个页面,则标记会显示不正确的值。 我试图移动包含标记的块作为最后一个块...没有帮助

0 个答案:

没有答案