如何调整此 XSL 脚本以防止 Quirks 模式?

How to adjust this XSL script to prevent Quirks Mode?

提问人:Andrew Truckle 提问时间:3/12/2023 最后编辑:Andrew Truckle 更新时间:3/12/2023 访问量:49

问:

我在 20 年前开始开发我的软件。当时,我使用 Expression Web 编辑器来构建模板 HTML 文件。今天我注意到一条关于我的页面处于怪癖模式的消息。我查了一下,可以看到它与元素有关。DOCTYPE

我正在使用带有 WebView2 浏览器控件的 XSL 转换表:

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

那么现在应该如何定义它来关闭怪癖模式?


问题是,如果我将其更改为:

<xsl:output method="html" indent="yes"/>

然后我没有得到任何声明,而我真的很想看到:DOCTYPE

<!DOCTYPE html>

我查找了 xsl:output,它似乎没有显示这种情况。

看起来这可能是需要使用 XSLT-1(XSL 网页在 Quirks 模式下显示)的限制。

xslt-1.0 文档类型 webview2 怪癖模式

评论

1赞 Luuk 3/12/2023
我认为这里已经描述了它,但我对 XSLT 的了解有限,请参阅: 如果您在 Content-Type HTTP 标头中使用 application/xhtml+xml MIME 类型将页面作为 XHTML 提供,则不需要 DOCTYPE 来启用标准模式
1赞 Luuk 3/12/2023
更多帮助可能会在这里找到(第一个错误):validator.w3.org
1赞 Alohci 3/31/2023
从 XSLT 1 生成 HTML 时,请将系统属性设置为 about:legacy-compat,并省略 public 属性。
0赞 Andrew Truckle 3/31/2023
@Alohci 你能给我看一个工作样品吗?

答: 暂无答案