我正在使用Apache FOP 1.1版来构建pdf(通过命令行) 这是我的XSL工作正常
<fo:table-row >
<fo:table-cell >
<fo:block >
<fo:external-graphic content-height="9mm" content-width="9mm" height="10mm" width="10mm" scaling="non-uniform" src="url(./images/pict2.jpg)" />
</fo:block>
</fo:table-cell>
</fo:table-row >
如果我尝试使用以这种方式声明的模板
<xsl:template name="myRow" >
<xsl:param name="imgUrl"/>
<fo:table-row >
<fo:table-cell >
<fo:block >
<fo:external-graphic content-height="9mm" content-width="9mm" height="10mm" width="10mm" scaling="non-uniform" src="url($imgUrl)"/>
</fo:block>
</fo:table-cell>
</fo:table-row >
</xsl:template>
我将其称为
<xsl:call-template name="myRow">
<xsl:with-param name="imgUrl" select="'./images/pict2.jpg'" />
</xsl:call-template>
没有显示图像。 如果我写select =“./ images / pict2.jpg”(没有单引号),则imgUrl参数为null 我如何通过网址并使其正常工作?
答案 0 :(得分:0)
如果要引用属性中的变量,则需要使用属性值模板。
请在模板中尝试使用此行
<fo:external-graphic content-height="9mm" content-width="9mm" height="10mm" width="10mm"
scaling="non-uniform" src="url({$imgUrl})"/>
花括号表示要计算的表达式,而不是字面输出(这是您的代码目前正在发生的事情。它实际上是输出文本 $ imgUrl ,而不是值变量)。