XSL:带有前导零的FO Page-Number()函数

时间:2012-05-11 11:59:32

标签: xslt xslt-2.0 xsl-fo

假设我想将页码“01”打印为两个单独的数字0和1从1到9 0X-> 01,02,03 .... 从10到99 10,11,12

<fo:table-cell xsl:use-attribute-sets="TableCellBorder">
    <fo:block>
      <xsl:value-of select="substring(<fo:page-number/>, 1, 1)"/> //0 or first page-number digit
    </fo:block>
</fo:table-cell>
<fo:table-cell xsl:use-attribute-sets="TableCellBorder">
   <fo:block>
      <xsl:value-of select="substring(<fo:page-number/>, 2, 1)"/>//second page-number digit
    </fo:block>
</fo:table-cell>

任何想法如何做到这一点?

2 个答案:

答案 0 :(得分:1)

<fo:page-sequence master-reference="mymaster" format="01">
  ...
    <fo:page-number/>
  ...
</fo:page-sequence>

描述here,唯一的诀窍是找出放置它的位置。

抱歉,仅使用XEP进行测试;不知道FOP是否支持它。

<强> UPD 即可。您是否会考虑添加“前导零”的字样以使文章更易于搜索?

答案 1 :(得分:0)

这是不可能的。

<fo:page-number/>是一个XSL-FO构造。在XSL-FO处理器运行之前,它不会获得值。它无法在生成XSL-FO标记的XSLT样式表中进行操作。