如果我有未知的总页数,我如何在XSL中编号N页面

时间:2015-08-20 18:08:03

标签: xsl-fo

<fo:block-container position="absolute" top="3.25in" left="2.9in" height="3.0in" width="7.8in" border-width="0.1in">
        <fo:block span="none" white-space-collapse="false"  font-family="Arial" font-size="10pt" text-align="start">
          <xsl:text>Page</xsl:text>
          <xsl:text>&#xa0;</xsl:text>
          <xsl:value-of disable-output-escaping="no" select="Visit/current_splitted_page"/>
          <xsl:text>&#xa0;</xsl:text>
          <xsl:text>of</xsl:text>
          <xsl:text>&#xa0;</xsl:text>
          <xsl:value-of disable-output-escaping="no" select="Visit/total_page"/>
        </fo:block>
      </fo:block-container>

我将Current_split页面和总页面等XML标记放在

的结果中
  

第0页,共0页

所有页面。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以通过以下步骤获取最后一页编号:

  1. 将@id放到最后定位的fo:page-sequence / fo:flow。
  2. 请参阅fo:page-number-citation-last指定@ ref-id值,上面是fo:flow / @ id value。
  3. [实施例]

    <!-- Last fo:page-sequence -->
    <fo:page-sequence>
      ...
      <fo:flow flow-name="xsl-region-body" id="id_last_flow">
        ...
      </fo:flow>
    </fo:page-sequence>
    

    [页码参考示例]

    <fo:block-container position="absolute" top="3.25in" left="2.9in" height="3.0in" width="7.8in" border-width="0.1in">
        <fo:block span="none" white-space-collapse="false"  font-family="Arial" font-size="10pt" text-align="start">
          <xsl:text>Page</xsl:text>
          <xsl:text>&#xa0;</xsl:text>
          <!--Current page number -->
          <fo:page-number/>
          <xsl:text>&#xa0;</xsl:text>
          <xsl:text>of</xsl:text>
          <xsl:text>&#xa0;</xsl:text>
          <!--Last page number -->
          <fo:page-number-citation-last ref-id="id_last_flow"/>
        </fo:block>
    </fo:block-container>