如何将id动态分配给我的for循环中的xsl fo块?



我想调用一个xsl fo块,该块是在带有超链接的循环中生成的。我想在 for 循环的每次迭代中为块分配不同的 id。这样我就可以在不同的位置调用不同的块。请提出任何方法。

请在下面看看我的 xslt。

<fo:basic-link internal-destination="$BlockId" color="blue">  
<xsl:value-of select="sampledetail/field[@id='SampleNo']/text()" />
</fo:basic-link>
.
.
.
.
<xsl:for-each select="report/content">
<xsl:variable name="BlockId">
<xsl:value-of select="sampledetail/field[@id='SampleNo']/text()" />
</xsl:variable>
<fo:block id="**$BlockId**">
<xsl:apply-templates select="sampledetail" />
</fo:block>
<xsl:for-each>

看起来您应该在此处使用属性值模板。所以,你应该使用的语法是这样的...

<fo:block id="{$BlockId}">

所以,也许你的示例代码应该看起来像这样

<xsl:for-each select="report/content">
<xsl:variable name="BlockId" select="sampledetail/field[@id='SampleNo']/text()" />
<fo:basic-link internal-destination="{$BlockId}" color="blue">  
<xsl:value-of select="$BlockId" />
</fo:basic-link>
</xsl:for-each>
.
.
.
.
<xsl:for-each select="report/content">
<xsl:variable name="BlockId" select="sampledetail/field[@id='SampleNo']/text()" />
<fo:block id="{$BlockId}">
<xsl:apply-templates select="sampledetail" />
</fo:block>
<xsl:for-each>

相关内容

  • 没有找到相关文章

最新更新