根据条件将图像ID添加到图像路径

时间:2014-12-31 11:44:47

标签: xml vb.net xslt

我想写xslt,我需要将图像代码附加到基于chartcategory的图像路径,下面对我不起作用,我认为我的步骤错误,我不知道如何将图像代码附加到图像路径甚至< / p>

<MonthlyReport>
 <MonthlyImages>
     <ChartCategory>rankingSavingsPotential</ChartCategory>
     <ImageCode>30032327</ImageCode>
     <ChartCategory>Potential</ChartCategory>
     <ImageCode>34534556</ImageCode>
   </MonthlyImages>
</MonthlyReport>




<xsl:template match="/MonthlyReport">
   <html>
     <table>
       <tr>
         <td>
         <xsl:choose>
         <xsl:when test="MonthlyImages/ChartCategory= rankingSavingsPotential">
           <img><xsl:attribute name="src=/Assets/images/<xsl:value-of select="ImageCode"/></img>
         </xsl:when>
         </xsl:choose>
        </td>
      </tr>
     </table>
   </html>
</xsl:template>

1 个答案:

答案 0 :(得分:0)

我不得不做出一个疯狂的猜测,但我认为你想要的是

XSLT样式表(1.0)

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

    <xsl:output method="html" indent="yes" />

    <xsl:template match="/MonthlyReport">
        <html>
            <table width='100%' border='0' cellspacing='0' cellpadding='0'>
                <tr>
                    <td width='100%'  class='cssLogo'>
                        <xsl:choose>
                            <xsl:when test="MonthlyImages/ChartCategory = 'rankingSavingsPotential'">
                                <img>
                                    <xsl:attribute name="src">
                                        <xsl:text>/Assets/images/</xsl:text>
                                    </xsl:attribute>
                                    <xsl:value-of select="concat('server1/assets/images/image.aspx?ImageCode=',MonthlyImages/ImageCode)"/>
                                </img>
                            </xsl:when>
                        </xsl:choose>
                    </td>
                </tr>
            </table>
        </html>
    </xsl:template>

</xsl:transform>

一旦我们确定这是你需要的,我很乐意添加解释。然后,结果是:

HTML输出

<html>
   <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
         <td width="100%" class="cssLogo"><img src="/Assets/images/">30032327</td>
      </tr>
   </table>
</html>