我们正在重构一个非常大的系统,查看我们编写的许多xQuery,并想知道使用并包含声明许多全局变量的xQuery是否会有所帮助。
意思是说我有一些xQuery_全球的xq是这样的:
module namespace g="global/variables";
declare variable $g:col.build := '/db/foo/data/Build';
declare variable $g:doc.langmap := doc(concat($g:col.build,'/','langmap.xml'));
declare variable $g:doc.easymap := doc(concat($g:col.build,'/','easymap.xml'));
declare variable $g:doc.foomap := doc(concat($g:col.build,'/','foomap.xml'));
然后我在我的xQuery中引用它:
import module namespace g='global/variables' at '_global.xq';
$g:doc.langmap
在我的xQuery中。另外两个呢(
$g:doc.easymap
和
$g:doc.foomap
是
居住在
import
或者仅当我在查询中实际使用它时?就像我写了一个永远不会引用的xQuery
$g:doc。朗格图
但导入该模块时,它是否仍在内存中创建并填充?
我想知道,如果我有几十个其他的声明变量
_global.xq
用于许多其他XQuery。当然,我不使用,但在每一篇文章中只使用了一些参考文献。问题很简单。。。是吗
import module
命令导致在导入时对它们进行求值,还是仅在使用它们时才有值?
我想这将是一个非常简短的答案。