在 xquery 文件中应用 <!DOCTYPE html>

Applying the <!DOCTYPE html> in xquery file

我正在尝试通过 xquery 代码将 jquery 的 dateTimePicker 添加到我的 UI。 没有 dateTimePicker 功能无法正常工作。

我正在使用以下方法应用 !DOCTYPE,但浏览器无法将其呈现为 html,它以文本形式返回,请提出建议。

let $document := <html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8"></meta>
    <title>Demo - jquery-simple-datetimepicker</title>

    <!--Requirement jQuery-->
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <!--Load Script and Stylesheet -->
    <script type="text/javascript" src="jquery.simple-dtpicker.js"></script>
    <script type="text/javascript" src="date.js"></script>
    <link type="text/css" href="jquery.simple-dtpicker.css" rel="stylesheet" />
    <!---->


</head>
<body onload ="function()">

    <h3>Append to Input-field</h3>
    <input type="text" name="date" value=""></input>

</body>
</html>

return document { 

      text{ '<!DOCTYPE html>' }, 
      xdmp:quote($document) 

    }

尝试添加 xdmp:set-response-content-type("text/html")

xdmp:set-response-content-type("text/html"),
let $document := ...
return document { ... }

这样,您就可以明确设置响应的 MIME 类型。

XQuery 无法像 XSLT 使用 xsl:output 那样生成 DOCTYPE 声明,但您可以将其添加到结果序列中。正如 Dave Cassel 所建议的,您还可以使用 xdmp:set-response-content-type() 来确保响应内容类型为 text/html:

return (
  xdmp:set-response-content-type("text/html"), 
  "<!DOCTYPE html>", 
  document{ $document} 
)