我有以下简单的XSL样式表:浏览器的行为 - 从火狐IE/Chrome有什么不同
<?xml version="1.0" encoding="windows-1252"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml" version="1.0">
<xsl:output encoding="utf-8" method="html" />
<xsl:template match="/">
<xsl:text disable-output-escaping="yes">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
</xsl:text>
<html>
<head><title>hello world</title></head>
<body>
<p>hello world</p>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
当我使用它时,Internet Explorer 7和Safari 5.0.2都只是显示的 “Hello World” ,如预期。不过,Firefox 3.6.10显示不同的东西:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
hello world
我猜,火狐走的是第一的xsl:text命令从字面上,而IE和Safari把它当作页面的一部分。 IE和Safari是否正确渲染这个,或者是Firefox?
(我做了xsl:文本的东西,使MSXML库输出正确的标签为HTML5规范)
我刚刚试过Opera 10.62,显然它根本不想显示任何XSL。有做这项工作的秘密技巧吗? – Colen 2010-10-05 16:23:41
@Colen:我有一个旧的XML/XSLT驱动的跨浏览器网站[here](http://www.aranedabienesraices.com.ar)。随意重复使用此代码。 – 2010-10-05 16:40:09
非常感谢! – Colen 2010-10-05 19:20:16