我正在努力寻找一种方法,在生成的XML文件中获得一行包含图像文件路径的行。
在最终的XML:中,结果行应该是这样的
<img href="file:///Volumes/disk/image_folder/image.psd" />
image.psd来自这个输入XML:
<row>
<col4>image.psd</col4>
</row>
是的,图像的路径是恒定的,并且传入的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>
我找到了解决问题的方法:
<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}"/>
这适用于我