【发布时间】:2021-11-05 21:59:27
【问题描述】:
我正在使用 Apache FOP 生成报告,我的模板是这样的:
<xsl:template match="LOGO">
<xsl:param name="imgLogo">
<xsl:value-of select="IMG" />
</xsl:param>
<fo:external-graphic content-height="scale-to-fit"
height="50pt" src="{$imgLogo}" />
</xsl:template>
<xsl:template match="MYREPORT">
<fo:block>
<xsl:apply-templates select="LOGO" />
</fo:block>
<fo:block>
<xsl:value-of select="PAG_1" />
</fo:block>
<fo:block page-break-before="always">
<xsl:apply-templates select="LOGO" />
</fo:block>
<fo:block>
<xsl:value-of select="PAG_2" />
</fo:block>
<fo:block page-break-before="always">
<xsl:apply-templates select="LOGO" />
</fo:block>
<fo:block>
<xsl:value-of select="PAG_3" />
</fo:block>
</xsl:template>
如果下一个兄弟块 (PAGE) 为空,我必须隐藏“LOGO”块(在每个 PAGE 之前)。
例如,使用以下输入:
<MYREPORT>
<LOGO>
<IMG>data:image/png;base64,[cutted]</IMG>
</LOGO>
<PAG_1>Page 1</PAG_1>
<PAG_2>Page 2</PAG_2>
</MYREPORT>
应该打印出来:
LOGO
Page 1
(new page)
LOGO
Page 2
它正在打印以下内容:
LOGO
Page 1
(new page)
LOGO
Page 2
(new page)
LOGO
有什么想法吗?谢谢
【问题讨论】:
-
仅供参考。本题纯属XSL,与XSL FO无关。
-
仅供参考。本题纯属XSL,与XSL FO无关。
标签: xslt xsl-fo apache-fop