2015-11-26 3 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}"/> 

Это работает для меня

Смежные вопросы