【发布时间】:2012-07-12 11:24:07
【问题描述】:
目前我通过外部变量将 2 个数据库的名称提供给我的主 xql 文件。我想将这些值传递给我的任何 XQL 模块。
例如,我可以有一个主脚本导入模块“mylib”
import module namespace mylib = "http://example.org/mylib" at "myLib.xqm";
declare variable $dbName external;
$mylib:print()
然后我用 dbName 外部变量提供主脚本,它可以工作,但我想以某种方式将它传递给我的模块
module namespace mylib = "http://example.org/mylib";
declare variable $mylib:dbName external;
declare function mymod:print() as xs:string {
$mymod:dbName
};
如何将本地 dbName 的值绑定到模块的实例 $myLib:dbName??
我试过了:
- 将主文件中的变量设为全局变量,以便任何导入的模块都可以读取它们
- 在模块中声明相同的变量并尝试从主类中分配它们,例如声明变量 $mylib:dbname := $dbname
- 将模块变量声明为外部唯一,在我的主脚本中从它们中获取值,然后尝试从那里读取它
对此有任何明显简单的解决方案吗?还是我必须为任何模块静态定义相同的值?
【问题讨论】:
标签: css xml xpath xquery saxon