2012-07-16 40 views
0

是否可以在这些中声明2个名称空间和2组不同的函数,然后将它们导入到相同的主脚本中?XQuery:同一模块中有两个名称空间?

例如:像这样的事情在主脚本

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

+1

您引用的“文档”来自一个XQuery供应商:尽管该供应商设法获取“xquery.com”域名,但它不是官方语言规范。 – 2012-07-16 16:49:55

+0

有用的评论! – Whimusical 2012-07-16 16:55:21

回答

2

有一些确实实现定义模块进口的许多方面,但库模块只能有一个目标名称空间(因为它只能包含一个ModuleDecl),并且规则是显式的:

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

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

相关问题