我的XML如下所示:
<?xml version="1.0" encoding="ISO-8859-1"?>
<chapter id="ch01">
<sect1>
<title>Wattage</title>
<para>Paragraph1</para>
<para>Paragraph2</para>
<para><figure>
<caption>
<para>
<i>Sample image caption</i></para>
</caption>
<img src="myimagepath\cover_front.jpg"/>
</figure>
</para>
</sect1>
</chapter>
我在使用XSLT(通过C#aspx页面)呈现XML的HTML页面上显示图像时遇到问题。
我的XSLT如下:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My Book</h2>
<xsl:apply-templates select="chapter/sect1" />
</body>
</html>
</xsl:template>
<xsl:template match="chapter/sect1">
<xsl:apply-templates select="title" />
<xsl:apply-templates select="para/figure" />
<br />
</xsl:template>
<xsl:template match="title">
<b><span style="font-size=22px;">
<xsl:value-of select="." />
</span>
</b>
<br />
</xsl:template>
<xsl:template match="para/figure">
<xsl:element name="img">
<xsl:attribute name="src">
<xsl:value-of select="." />
</xsl:attribute>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
我的图像没有使用上面的XSLT显示。谁能请帮忙。我是XSLT的新手。
答案 0 :(得分:1)
你渲染para / figure的重点并不是你所想的那样,你选择的地点&#34;。&#34;因为图像源实际上应该渲染所有:
<caption><para><i>Sample image caption</i></para></caption>
<img src="myimagepath\cover_front.jpg"/>
尝试更改此模板:至:
<xsl:template match="para/figure">
<img src="{img/@src}" />
</xsl:template>
(那是在记忆中工作)所以: