我一直在尝试使用XSLT输出我的XML所拥有的数据。设置的要求之一是在XML文件中包含图像文件:
<room id="001">
<capacity>2 Adults</capacity>
<room_name>King Double</room_name>
<cost_st>$1700</cost_st>
<cost_lt>$3400</cost_lt>
<loc>Ground Floor</loc>
<info>&in2;</info>
<feat>&ft2;</feat>
<deal>&pk2;</deal>
<photo>kingdouble.jpg</photo>
</room>
虽然我可以在标签之间抓取字符串,但我似乎无法显示图像文件。我在这里写错了,还是在XSLT中出错?
编辑: 这是我的XSLT的一部分:
<tr border="2" bgcolor="#ffebcd">
<td> <xsl:value-of select="room_name"/> </td>
<td> <xsl:value-of select="capacity"/> </td>
<td> <xsl:value-of select="info"/> </td>
<td> <xsl:value-of select="loc"/> </td>
<td> <xsl:value-of select="feat"/> </td>
<td> <xsl:value-of select="cost_st"/> </td>
<td> <xsl:value-of select="cost_lt"/> </td>
</tr>
</xsl:template>
我尝试做的是显示图像文件而不指定特定图像,因为XSLT文件将用作两个单独XML页面的模板。
答案 0 :(得分:3)
假设您的XSLT片段运行正常,您可以添加另一个td
,其中包含对图像的引用,如下所示:
<td><img src="{photo}"/></td>
此处{photo}
是attribute value template。
不工作?
如果文件位于HTML页面以外的目录中,则需要构建相对路径,例如
<td><img src="images/{photo}"/></td>
或绝对路径,例如
<td><img src="http://example.com/some/path/to/images/{photo}"/></td>
仍然无效?
要调试图像路径,请先手动编写HTML,并确保如何编写绝对或相对@src
路径的心智模型是正确的。然后,检查由XSLT生成的HTML源,以检查路径是否与经过验证的手工制作的路径匹配。