文档类型错误


error in doctype

<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
    <!DOCTYPE HTML>
    <html>
    <head>
    </head>
    <body>
    </body>
    </html>
</xsl:template>
</xsl:stylesheet>

它在 DOCTYPE 中收到解析错误。 如何解决这个问题?

W3C HTML 5 参考建议使用 doctype-system="about:legacy-compat"

为了与 HTML 的传统生产者(即软件(兼容 输出 HTML 文档 — 替代 DOCTYPE 可用于 由无法输出上面给出的 DOCTYPE 的系统使用。这 限制发生在期望 DOCTYPE 包含以下任一内容的软件中 公共或系统标识符,并且无法省略它们。这 此 DOCTYPE 的规范形式如下:

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

您可以使用以下任何 XSLT 处理器实现此目的:

<xsl:output method="html" doctype-system="about:legacy-compat" />

它将生成:

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

不能直接在 xslt 中嵌入<!DOCTYPE HTML>声明。使用以下内容:

<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html></xsl:text>

相反。有关类似问题,请参阅使用 XSLT 设置 HTML5 文档类型。