"No namespace declared for bin:bin" Java 项目中嵌入的 BaseX 出错
"No namespace declared for bin:bin" error with BaseX embedded in Java project
我在我的 java 项目中嵌入了 BaseX,如下所示:
我正在尝试 运行 现在通过 BaseX Query Processor
查询
如果我 运行 这个查询在 BaseX Standalone 中正常执行。
如果我尝试在嵌入式 QueryProcessor 中 运行 它找不到
bin 命名空间。
代码示例:
import org.basex.core.Context;
import org.basex.query.QueryException;
import org.basex.query.QueryProcessor;
import org.basex.query.value.Value;
public class BaseXTest {
public static void main(String[] args) {
String query = "bin:bin(\"0010\")";
Context context = new Context();
try {
QueryProcessor proc = new QueryProcessor(query, context);
// Execute the query
Value result = proc.value();
// Print result as string.
System.out.println(result);
} catch (QueryException e) {
e.printStackTrace();
}
}
}
它给我的错误如下所示:
org.basex.query.QueryException: No namespace declared for "bin:bin".
at org.basex.query.util.Err.thrw(Err.java:991)
我知道查询处理器的 module() 和 namespace() 函数,但真的不知道如何使用它们。
任何人都可以帮助我在嵌入式 BaseX QueryProcessor 中使用模块吗?
binary module was not added but for BaseX 7.8(实际上不是最新版本,但请确保您至少有那个 运行)。 db:system()
将 return 执行 BaseX 版本,因此您可以验证您使用的是哪个 BaseX 版本 运行..
我在我的 java 项目中嵌入了 BaseX,如下所示:
我正在尝试 运行 现在通过 BaseX Query Processor
查询如果我 运行 这个查询在 BaseX Standalone 中正常执行。 如果我尝试在嵌入式 QueryProcessor 中 运行 它找不到 bin 命名空间。 代码示例:
import org.basex.core.Context;
import org.basex.query.QueryException;
import org.basex.query.QueryProcessor;
import org.basex.query.value.Value;
public class BaseXTest {
public static void main(String[] args) {
String query = "bin:bin(\"0010\")";
Context context = new Context();
try {
QueryProcessor proc = new QueryProcessor(query, context);
// Execute the query
Value result = proc.value();
// Print result as string.
System.out.println(result);
} catch (QueryException e) {
e.printStackTrace();
}
}
}
它给我的错误如下所示:
org.basex.query.QueryException: No namespace declared for "bin:bin". at org.basex.query.util.Err.thrw(Err.java:991)
我知道查询处理器的 module() 和 namespace() 函数,但真的不知道如何使用它们。
任何人都可以帮助我在嵌入式 BaseX QueryProcessor 中使用模块吗?
binary module was not added but for BaseX 7.8(实际上不是最新版本,但请确保您至少有那个 运行)。 db:system()
将 return 执行 BaseX 版本,因此您可以验证您使用的是哪个 BaseX 版本 运行..