0

是否可以在其中声明 2 个命名空间和第 2 组不同的函数组,然后在同一个主脚本中导入它们?

例如:主脚本中的类似内容

    import module namespace i = "UtilIntegers" at "Utils.xqm";
    import module namespace s = "UtilStrings" at "Utils.xqm";

文档非常模糊且依赖于实现:http ://www.xquery.com/tutorials/guided-tour/external-functions-variables.html

4

1 回答 1

2

模块导入的很多方面确实是实现定义的,但是一个库模块只能有一个目标命名空间(因为它只能包含一个 ModuleDecl),并且规则是明确的:

库模块中声明的每个变量和函数的名称必须具有与模块的目标命名空间相同的命名空间 URI;否则会引发静态错误 [err:XQST0048]。

在您的示例中,“导入模块”声明之一将失败,因为“导入模块”中出现的命名空间与正在导入的模块的目标命名空间不匹配。

于 2012-07-16T16:48:57.320 回答