XSL空标签关闭丢失

时间:2013-07-10 09:38:00

标签: html xml html5 internet-explorer xslt

我正在使用XSL转换将xml转换为xhtml,问题是输入标签最后没有打印斜杠,尽管我写了这个

<xsl:output method="html"/>

输出必须像这样

<input type='text' name='t1'/>

而是像这样显示它

<input type='text' name='t1'>

我知道这是HTML5中的新功能但是IE 6,7,8。

我尝试了下一个,但没有他们工作

        <input type="text">
            <xsl:attribute name="size">
                <xsl:value-of select="size"/>
            </xsl:attribute>
            <xsl:attribute name="content">
                <xsl:value-of select="content"/>
            </xsl:attribute>
            <xsl:attribute name="id">
                <xsl:value-of select="@id"/>
            </xsl:attribute>
            <!--<xsl:variable name="slash" select="/"/>
            <xsl:value-of select="$slash"/>-->
            <!--<script type="text/javascript" src="somewhere.js">/</script>-->
            <!--<script type="..." src="...">/</script>-->
        </input>

2 个答案:

答案 0 :(得分:1)

我认为这可以通过使用xhtml输出来解决问题:

<xsl:output method="xhtml"/>

这是XSLT 2.0的新功能,它将生成一个有效XML的输出,但尊重使旧版浏览器接受XML的约定。

这在XSLT 1.0中不存在。一些XSLT 1.0处理器可能会提供它,但我不知道哪些。否则,使用XSLT 1.0,您应该改为输出XML。

Here is a thread about the differences

答案 1 :(得分:-2)

这将输出自动关闭标签:

<xsl:output method="xml"/>