首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将XSL-FO url函数转换为模板

将XSL-FO url函数转换为模板
EN

Stack Overflow用户
提问于 2014-05-12 15:00:55
回答 1查看 1.4K关注 0票数 0

我正在使用ApacheFOPVersion1.1构建一个pdf (通过命令行)--这里是我的XSL,运行良好

代码语言:javascript
复制
<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 >

如果我试图使用这样声明的模板

代码语言:javascript
复制
<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>

我称之为

代码语言:javascript
复制
<xsl:call-template name="myRow">
    <xsl:with-param name="imgUrl" select="'./images/pict2.jpg'" />
</xsl:call-template>

没有显示图像。如果我编写了select="./images/pict2.jpg“(没有单引号),那么imgUrl参数是空的,我如何传递url并使它工作呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-12 17:10:03

如果要引用属性中的变量,则需要使用属性值模板。

在模板中尝试这一行

代码语言:javascript
复制
<fo:external-graphic content-height="9mm" content-width="9mm" height="10mm" width="10mm" 
                     scaling="non-uniform" src="url({$imgUrl})"/>

花括号表示要计算的表达式,而不是字面上的输出(这就是当前发生在代码中的情况)。它实际上是输出文本$imgUrl,而不是变量的值)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23612484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档