1

我正在使用 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>
4

2 回答 2

1

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

<xsl:output method="xhtml"/>

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

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

这是关于差异的主题

于 2013-07-10T10:00:37.837 回答
-2

这将输出自闭合标签:

<xsl:output method="xml"/>
于 2013-07-16T12:06:10.927 回答