在XSLT中使用图像

时间:2018-04-20 19:49:59

标签: xml

我是XML / XSLT的新手,我正在尝试显示一个包含人员数据的表格,包括他们所在国家/地区的旗帜。但是,当我这样做时,我只是在每一行中重复了第一张图片。有人可以请我帮忙让每一行显示不同的旗帜吗?

这是我的XML格式:

<person>  
            <firstname>Joe</firstname>
            <lastname>Bloggs</lastname>
              <picture src="/images/gb.png"/>
          </person>

这是我的XSLT:

    <table class="table-striped">
     <tr>
       <th>Name</th>
       <th>Flag</th>
     </tr>

     <xsl:for-each select="person">
    <tr>
        <td><xsl:value-of select="firstname"/><xsl:value-of select="lastname"/></td>
         <td><img src="{/person/picture/@src}" /></td>
         </tr>
       </xsl:for-each>
   </table>

1 个答案:

答案 0 :(得分:1)

使用

<img src="{/person/picture/@src}" />

您指的是绝对路径,但在您的xsl:for-each中,您已将上下文节点设置为information/person。因此,将XPath更改为相对(到上下文节点person)路径,如

<img src="{picture/@src}" />

这应该考虑xsl:for-each

的背景