使用MarkLogic的查询控制台时获得的错误代码段
[1.0-ml] XDMP-BADNCNAME :: link
堆栈跟踪
在第1行第18列:在xdmp:eval("声明命名空间 xmlns:link =" http://www.xbrl.org/2003/link ...",(),11967107844575880929 ...)
- 声明命名空间xmlns:link =" http://www.xbrl.org/2003/linkbase" ;;
- 声明命名空间xmlns:bd-alg =" http://www.nltaxonomie.nl/nt11/bd/20161207/dictionary/bd-algemeen" ;;
- 声明命名空间xmlns:bd-bedr =" http://www.nltaxonomie.nl/nt11/bd/20161207/dictionary/bd-bedrijven" ;;
醇>
任何人都知道发生了什么事?
答案 0 :(得分:1)
命名空间声明必须将命名空间绑定到必须是NCName的前缀,而不是xmlns:
部分,如下所示:
declare namespace link="http://www.xbrl.org/2003/linkbase";
declare namespace bd-alg="http://www.nltaxonomie.nl/nt11/bd/20161207/dictionary/bd-algemeen";
declare namespace bd-bedr="http://www.nltaxonomie.nl/nt11/bd/20161207/dictionary/bd-bedrijven";
绑定名称空间的XML语法可能存在混淆,它使用xmlns:
前缀来区分绑定和常规属性:
<link:calculationLink xmlns:link="http://www.xbrl.org/2003/linkbase">
...
</link:calculationLink>
在XQuery中,不需要这样做,因为declare namespace
语法已经清楚地表明这些是前缀。