简单的XSLT问题:如何在单个标记的末尾添加结束“/”?

时间:2009-11-20 17:21:01

标签: xslt xhtml

我正在自学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>

另外,为什么模板中的尾部斜杠在输出中被省略?

提前感谢您的帮助!

2 个答案:

答案 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"/>