设置XSL doctype

时间:2014-03-10 13:35:24

标签: html internet-explorer xslt cross-browser doctype

我在IE8 +中查看应用程序时遇到问题...具体来说,在IE9中,当打开开发人员工具时,IE7标准似乎被设置为文档模式。在查看源代码时,我认为问题在于我的doctype显示为:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

查看我的代码,以下是我的doctype的设置方式:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet [
  <!ENTITY nbsp "&#160;">
]>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" version="4.01" doctype-public="-//W3C//DTD HTML 4.01//EN" doctype-system="http://www.w3.org/TR/html4/strict.dtd" indent="yes"/>

如何将其修改为<doctype html>

由于

更新

进一步查看代码:

<xsl:template match="/">

部分,没有元设置。

1 个答案:

答案 0 :(得分:1)

总之,你不能。 <!DOCTYPE html>(故意通过HTML5规范)没有有效的XML文档类型(也没有有效的SGML,HTML 4也是如此)。

HTML5 spec指示此文档类型,而不是:

<!DOCTYPE html SYSTEM "about:legacy-compat">

您可以使用此output

生成它
<xsl:output method="xml" doctype-system="about:legacy-compat"/>

但是,当XSLT处理器想要处理/验证系统标识符时,它将失败。 AFAIK,它应该在MSXML中工作。