test2.xqy:
import module namespace myNS = "http://test.org/module1" at "./namespace.xqy";
element test
{
}
namespace.xqy:
module namespace myNS = "http://test.org/module1";
declare variable $myNS:srcDoc:="test2.xml";
declare variable $myNS:defaultXMLNS:="http://www.test.com#";
declare variable $myNS:defaultXMLBase:=$defaultXMLNS;
命令行:
$ basex test2.xqy
Stopped at /Users/jack/Documents/xqy/namespace.xqy, 5/53:
[XPST0008] Undefined variable $defaultXMLNS.
我没有找到关于如何从外部模块导入变量和函数的文档。所以我以直观的方式尝试。该错误表明$defaultXMLNS
没有定义。我确实定义了它,但是使用了名称空间前缀。
答案 0 :(得分:0)
您忘记在作业的右侧定义名称空间:
declare variable $myNS:defaultXMLBase:=$defaultXMLNS;
(: ^ no namespace defined :)
因此,在默认命名空间中搜索$defaultXMLNS
,其中未注册declare variable $myNS:defaultXMLBase:=$myNS:defaultXMLNS;
。改为应用命名空间:
import module namespace myNS = "http://test.org/module1" at "./namespace.xqy";
element test
{
$myNS:srcDoc
}
如果你这样做,你可以稍后访问这样的值:
angular.module('MODULE_NAME').filter('stripSpaces', function() {
return function(input) {
return input.replace(/\&nb\s*sp;/g, '');
}
}