2015-11-26 39 views
0

我很努力地找到一种方法来在生成的XML文件中获取一行以包含图像文件路径。xml来自变量的图像文件路径

结果行应该是这样在最后的XML:

<img href="file:///Volumes/disk/image_folder/image.psd" />

凡image.psd来自该输入XML:

<row> 
    <col4>image.psd</col4> 
</row> 
+0

路径文件是不变的,并指向_image_folder总是?请分享您的XSLT的一部分,它执行col4 - > img转换。它应该是直接前缀在那里的路径。 – Jan

+0

只需编辑您的帖子,而不是将东西放入评论中...... – Jan

回答

0

是路径到图像不变,并且传入的XML具有标记中的文件名

XSLT看起来像这样:

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="xml" indent="yes"/> 
<xsl:template match="/"> 
<xsl:apply-templates/> 

<xsl:template match="/csv"> 
<xsl:for-each select="row"> 
    <xsl:variable name="filename"><xsl:value-of select="col1"/>.dita </xsl:variable> 
<xsl:result-document href="{col1}.xml" method="xml"> 
     <bilkort> 
      <artnummer>Art nr: <xsl:value-of select="col1"/></artnummer> 
      <rubrik><xsl:value-of select="col2"/></rubrik> 
      <innehåll><xsl:value-of select="col3"/></innehåll> 
      <img href="file:///Volumes/disk/image_folder/image.psd" /> 
     </bilkort> 
</xsl:result-document> 
</xsl:for-each> 

传入XML看起来是这样的:

<csv> 
<row> 
    <col1>Partno</col1> 
    <col2>Headline</col2> 
    <col3>Content</col3> 
    <col4>imagefilename</col4> 
</row> 
</csv> 
0

我找到了解决我的问题:

<xsl:variable name="imagepath" select="'Volumes/disk/image_folder'" /> 
<xsl:variable name="imagefile"><xsl:value-of select="col4"/></xsl:variable> 
<img href="file:///{$imagepath}/{$imagefile}"/> 

这适用于我