在xslt中的Concat,无法从服务器获取图像

时间:2017-09-24 06:13:36

标签: xslt-1.0

我是xslt编码的新手,我正在尝试修复现有代码中的问题。我陷入困境

<fo:external-graphic content-width="150pt" 
  content-height="50pt" 
  src="url:{concat('${OA_MEDIA}/',$revised_last_name,',',DOCUMENT_BUYER_FIRST_NAME,'.gif')}" />

上面的代码试图在OA_MEDIA目录中找到.gif文件。直到那部分我才能理解。

当我将文件名设置为&#34; Eckert,Tim.gif&#34; (不包括引号)我的程序没有选择该文件

在上面的文章中,我打印了$ revised_lastname和$ document_buyer_first_name ..它以Tim和Eckert的身份出现,但它还没有选择该文件。如果我正在硬编码下面的文件名,那就可以了。

<fo:external-graphic content-width="150pt" 
  content-height="50pt" 
  src="url:{concat('${OA_MEDIA}/','Tim','.gif')}" />

如何在上面的代码中打印 src 中的值,以便我可以看到它在$ OA_MEDIA中查找的文件。

任何建议都表示赞赏。

谢谢!

1 个答案:

答案 0 :(得分:0)

您的第一个问题似乎是在您构造的URI和文件名中,您已将给定名称和姓氏用于不同的顺序:Tim,Eckert.gif vs Eckert,Tim.gif。选一个。

如果此后仍有问题,则下一步是确认您的连接是否产生了您期望的值。我会添加一行像

<xsl:message>Generating fo:external graphic with URI <xsl:value-of
  select="concat('url:', 
                 '${OA_MEDIA}/',
                 $revised_last_name,
                 ',',
                 DOCUMENT_BUYER_FIRST_NAME,
                 '.gif')"/></xsl:message>

如果这没有说明出现了什么问题,我会插入单独的消息来显示$revised_last_nameDOCUMENT_BUYER_FIRST_NAME的当前值。

不仅如此,很难说,因为你的问题没有提供一个简短,独立,完整的例子,让读者能够重现你想要解决的问题。在SO help files以及Eric Raymond和Rick Moen的论文How to ask questions the smart way中提出有效问题的建议很好。