如何在 HTTP 响应中包含 HTML5 DOCTYPE

问题描述 投票:0回答:1

当使用 BaseX 开发 Web 应用程序时,我想返回 HTML 并包含 HTML5 典型的 DOCTYPE,即

<!DOCTYPE html>
我注意到,如果我设置 RESTXQ 函数并包含
%output:method('html')
注释,没有默认的 DOCTYPE。如果函数返回一个序列,其中第一项是字符串
"<!DOCTYPE html>"
,第二项是
<html>
元素,则 Web 服务器会将尖括号转义为
&lt;!DOCTYPE html&gt;
有没有办法禁用字符转义?如果我包含
%output:doctype-system('html')
那么网络服务器会提供
<!DOCTYPE html SYSTEM "html">
,这不太正确。有没有办法抑制
SYSTEM "html"

我在 BaseX 文档的 RESTXQ 页面上没有看到任何有关使用 HTML5 DOCTYPE 的内容,以及我在 http://exquery.github.io/exquery/exquery-restxq-specification/restxq- 找到的 RESTXQ 规范草案1.0-specation.html 根本没有提到 DOCTYPE。

basex
1个回答
0
投票

最好的解决方案是将结果输出为 HTML5,这可以通过

html-version
序列化参数来完成:

declare 
  %rest:path('/test')
  %output:method('html')
  %output:html-version('5')
function local:test() {
  <html>Welcome</html>
};
© www.soinside.com 2019 - 2024. All rights reserved.