为什么 Javascript 函数在 XQuery 中工作,即使它是在包含文件之前声明的
Why does Javascript function work in XQuery even though it is declared prior to including the file
有人可以解释为什么 Javascript 测试函数仍然有效,即使在 HTML 中包含脚本之前声明了 XQuery 函数吗?
test.js
function test(){
alert('from test');
}
index.xqy
declare function local:test(){
for (: do something :)
return (
<script>
test("Testing...")
</script>
)
};
xdmp:set-response-content-type("text/html; charset=utf-8"),
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">',
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
</head>
<body>
<script type="text/javascript" src="test.js"></script>
{
local:test()
}
</body>
</html>
index.xqy
中的所有 XQuery 代码都已执行 server-side,因此 local:test()
在到达浏览器之前被调用和评估。浏览器首先看到的是 Doctype 声明,它使用 local:test()
已经呈现的结果评估页面。
有人可以解释为什么 Javascript 测试函数仍然有效,即使在 HTML 中包含脚本之前声明了 XQuery 函数吗?
test.js
function test(){
alert('from test');
}
index.xqy
declare function local:test(){
for (: do something :)
return (
<script>
test("Testing...")
</script>
)
};
xdmp:set-response-content-type("text/html; charset=utf-8"),
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">',
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
</head>
<body>
<script type="text/javascript" src="test.js"></script>
{
local:test()
}
</body>
</html>
index.xqy
中的所有 XQuery 代码都已执行 server-side,因此 local:test()
在到达浏览器之前被调用和评估。浏览器首先看到的是 Doctype 声明,它使用 local:test()
已经呈现的结果评估页面。