为什么Javascript函数在XQuery中工作,即使它是在包含文件之前声明的

为什么Javascript函数在XQuery中工作,即使它是在包含文件之前声明的,xquery,marklogic,Xquery,Marklogic,有人能解释为什么Javascript测试函数可以工作,即使XQuery函数是在HTML中包含脚本之前声明的吗 test.js index.xqy index.xqy中的所有XQuery代码都在服务器端执行,因此在到达浏览器之前调用并计算local:test。浏览器看到的第一件事是Doctype声明,它使用已经呈现的local:test结果对页面进行求值。index.xqy中的所有XQuery代码都是在服务器端执行的,因此在到达浏览器之前调用和求值local:test。浏览器看到的第一件事是Doc

有人能解释为什么Javascript测试函数可以工作,即使XQuery函数是在HTML中包含脚本之前声明的吗

test.js

index.xqy


index.xqy中的所有XQuery代码都在服务器端执行,因此在到达浏览器之前调用并计算local:test。浏览器看到的第一件事是Doctype声明,它使用已经呈现的local:test结果对页面进行求值。

index.xqy中的所有XQuery代码都是在服务器端执行的,因此在到达浏览器之前调用和求值local:test。浏览器看到的第一件事是Doctype声明,它使用local:test已呈现的结果计算页面。

静态错误?它只是一个节点构造函数,而不是string@BeniBela是的,我误解了。我把那张便条从答案上去掉了。谢谢,静态错误?它只是一个节点构造函数,而不是string@BeniBela是的,我误解了。我把那张便条从答案上去掉了。谢谢
function test(){
  alert('from test');
}
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>