2017-10-17 146 views
2

錯誤代碼段使用MarkLogic的查詢控制檯當我得到XDMP-BADNCNAME:XQuery中鏈接錯誤

[1.0毫升] XDMP-BADNCNAME:鏈路

堆棧跟蹤

位於第1行第18列:在xdmp:EVAL( 「聲明命名空間 的xmlns:鏈接= " http://www.xbrl.org/2003/link ...」,(),11967107844575880929 ...)

  1. declare namespace xmlns:link =「http://www.xbrl.org/2003/linkbase」;
  2. declare namespace xmlns:bd-alg =「http://www.nltaxonomie.nl/nt11/bd/20161207/dictionary/bd-algemeen」;
  3. declare namespace xmlns:bd-bedr =「http://www.nltaxonomie.nl/nt11/bd/20161207/dictionary/bd-bedrijven」;

任何人都知道發生了什麼?

+0

你想做什麼? – lukwuerz

+0

使用MarkLogic查詢控制檯測試我是否可以使用它來處理XBRL文檔。我試過聲明XML/XBRL文件中使用的所有名稱空間。 –

回答

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:前綴從常規屬性區分綁定:在XQuery中,這是沒有必要

<link:calculationLink xmlns:link="http://www.xbrl.org/2003/linkbase"> 
    ... 
</link:calculationLink> 

因爲declare namespace語法已經清楚地表明,這些前綴。