找不到架构/模块的目标命名空间

时间:2013-06-26 15:16:26

标签: module namespaces xquery exist-db zorba

我对XQuery比较陌生。但是,我对我的问题进行了大量的研究,并且不明白我做错了什么。这是我的代码:

(: XQuery main module :)
xquery version "3.0" encoding "utf-8";

import schema namespace output =  "http://www.w3.org/2010/xslt-xquery-serialization";
import module namespace http = "http://expath.org/ns/http-client";
import module namespace rand = "http://www.zorba-xquery.com/modules/random";

declare variable $URL as xs:string := ();
declare variable $AF_Tok as xs:integer := rand:seeded-random-between(23 (:This is the seed, needs to be randomized too, will fix later.:),
                                                                 0  (:This is the lower bound for every number in the sequence.:),
                                                                 9  (:This is the higher bound for every number in the sequence.:),
                                                                 32 (:This is the number of random numbers in the returned sequence:)
                                                                 );
declare variable $Client_ID as xs:string := ("XXXXX");
declare variable $Client_Secret as xs:string := ("XXXXX");

<test>
    <random_number>{$AF_Tok}</random_number>
</test>

我在eXist和Sausalito Tools for Eclipse中都遇到了同样的错误。任何人都可以测试一下,让我知道你是否也得到错误?我很难过,任何帮助都会受到赞赏。

:6,1:静态错误[错误:XQST0059]:“http://www.zorba-xquery.com/modules/random”:找不到架构/模块的目标命名空间http://www.zorba-xquery.com/modules/random

我认为这可能是一个zorba问题,但我也为w3和expath命名空间得到了同样的错误。

更新:我使用的是Mac OS X 10.8 btw

1 个答案:

答案 0 :(得分:0)

您不能简单地将Zorba模块与eXist一起使用。我也不认为eXist支持HTTP客户端EXPath模块。请查看处理器(eXist或Sausalito)的文档,并仅使用它们支持的模块。如果它们是内置的,那么使用简单的import module namespace就足够了,但是,如果要包含通用模块,还必须在某个与处理器相关的目录中提供模块源。

对于eXist,请查看http://exist-db.org/exist/apps/doc/extensions.xml以了解如何包含模块。 eXist也有随机函数,但它们都是在数学模块中构建的。