由于历史原因,我们混合了
<xsl:output method="xml">
并且
<xsl:output method="html">
和
<xsl:output method="xhtml">
我们在一个XSL文件的包含层次结构中。现在,我们想要重构代码,使所有的XSL文件都使用相同的输出方法。
最终我们想要生成XHTML输出,因此我认为后者是最好的选择。
但是这三种输出方法之间有什么区别?你会在什么样的解决方案中使用它们?
编辑:我正在使用XSLT 2.0
HTML将序列化为HTML,因此输出可能不是格式良好的XML。如果您只发送到浏览器并且不关心能否解析为XML,则这可能适合您。
XML将序列化为XML,因此输出将是格式良好的,但您可能会遇到某些使用输出的浏览器问题,例如自闭合的<script />
和<div />
元素。为了避免这个问题,您需要玩一些技巧,比如在元素内添加注释(例如<script src="someJSFile.js"><!--don't close my script tag --></script>
)
如果您有XSLT 2.0引擎并且希望获得格式良好的HTML输出而不必担心某些元素的序列化方式,则请使用XHTML。
。
<xsl:output method="xhtml">
。xsl:output
指令没有method:xhtml
选项。
wc3schools也认同这一点。xhtml
,因为这就是您要输出的内容。