XSLT FOP PDF table 行编号
XSLT FOP PDF table row numbering
我正在尝试为只有特定行输出的 table 获取自动行编号。
示例测试 xml
<Data>
<DataRow><Text>red</Text></DataRow>
<DataRow><Text></Text></DataRow>
<DataRow><Text>blue</Text></DataRow>
<DataRow><Text></Text></DataRow>
<DataRow><Text>green</Text></DataRow>
FOP XSLT 摘录
<fo:table width="100%">
<fo:table-column column-width="8mm"/>
<fo:table-column column-width="172mm"/>
<fo:table-body>
<xsl:for-each select="/Data/DataRow">
<xsl:if test="string-length(Text) > 0">
<fo:table-row>
<fo:table-cell>
<fo:block text-align="left">
<xsl:value-of select="position()" /><xsl:text>.</xsl:text>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="left">
<xsl:value-of select="Text" />
</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:if>
</xsl:for-each>
</fo:table-body>
</fo:table>
想要的结果是
1. red
2. blue
3. green
但我得到了
1. red
3. blue
5. green
在 for-each 的表达式中使用谓词 Data/DataRow[normalize-space(Text)]
而不是嵌套的 if。
我正在尝试为只有特定行输出的 table 获取自动行编号。 示例测试 xml
<Data>
<DataRow><Text>red</Text></DataRow>
<DataRow><Text></Text></DataRow>
<DataRow><Text>blue</Text></DataRow>
<DataRow><Text></Text></DataRow>
<DataRow><Text>green</Text></DataRow>
FOP XSLT 摘录
<fo:table width="100%">
<fo:table-column column-width="8mm"/>
<fo:table-column column-width="172mm"/>
<fo:table-body>
<xsl:for-each select="/Data/DataRow">
<xsl:if test="string-length(Text) > 0">
<fo:table-row>
<fo:table-cell>
<fo:block text-align="left">
<xsl:value-of select="position()" /><xsl:text>.</xsl:text>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="left">
<xsl:value-of select="Text" />
</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:if>
</xsl:for-each>
</fo:table-body>
</fo:table>
想要的结果是
1. red
2. blue
3. green
但我得到了
1. red
3. blue
5. green
在 for-each 的表达式中使用谓词 Data/DataRow[normalize-space(Text)]
而不是嵌套的 if。