我正在自学XSLT,我仍然试图将我的大脑包围在细节之中。我的XSL样式表中有一个模板,看起来像这样......
<td><img src="{normalize-space(image)}"/></td>
生成看起来像这样的XHTML ......
<td><img src="somefile.jpg"></td>
如何更改我的XSL模板以向img标记添加尾部“/”,以便XHTML输出看起来像这样......
<td><img src="somefile.jpg"/></td>
另外,为什么模板中的尾部斜杠在输出中被省略?
提前感谢您的帮助!
答案 0 :(得分:5)
我会从这开始:
<xsl:output method="xml" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" indent="yes"/>
这将使您的XSL解析器正确关闭空标记,因为您(在技术上)生成XML。 HTML没有像XML / XHTML那样的空标记的概念。
答案 1 :(得分:1)
你也可以这样做:
<xsl:element name="img">
<xsl:attribute name="src">blarg</xsl:attribute>
</xsl:element>
将输出<img src="blarg"/>