我正在尝试设计一个利用 MarkLogic 查询控制台和 MarkLogic 数据库的简单应用程序。
我的代码如下所示:
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";
declare namespace bd-bedr-tuple="http://www.nltaxonomie.nl/nt11/bd/20161207/dictionary/bd-bedr-tuples";
declare namespace bd-dim-mem="http://www.nltaxonomie.nl/nt11/bd/20161207/dictionary/bd-domain-members";
declare namespace bd-dim-dim="http://www.nltaxonomie.nl/nt11/bd/20161207/validation/bd-axes";
declare namespace xbrldi="http://xbrl.org/2006/xbrldi";
declare namespace xbrli="http://www.xbrl.org/2003/instance";
declare namespace iso4217="http://www.xbrl.org/2003/iso4217";
declare namespace xlink="http://www.w3.org/1999/xlink";
let $startDateInput := ""
let $endDateInput := ""
if($startDateInput)
{
then let $startDate := xs:date($startDateInput)
else let $startDate := xs:date("1900-01-01")
}
if($endDateInput)
{
then let $endDate := xs:date($endDateInput)
else let $endDate := xs:date("2100-12-31")
}
for $doc in /xbrli:xbrl
let $docId := $doc/xbrli:context//xbrli:identifier/text()
let $docStartDate …Run Code Online (Sandbox Code Playgroud) 我在QueryConsole中有问题
当我尝试运行这个:
xquery version "1.0-ml";
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";
declare namespace bd-bedr-tuple="http://www.nltaxonomie.nl/nt11/bd/20161207/dictionary/bd-bedr-tuples";
declare namespace bd-dim-mem="http://www.nltaxonomie.nl/nt11/bd/20161207/dictionary/bd-domain-members";
declare namespace bd-dim-dim="http://www.nltaxonomie.nl/nt11/bd/20161207/validation/bd-axes";
declare namespace xbrldi="http://xbrl.org/2006/xbrldi";
declare namespace xbrli="http://www.xbrl.org/2003/instance";
declare namespace iso4217="http://www.xbrl.org/2003/iso4217";
declare namespace xlink="http://www.w3.org/1999/xlink";
let $factValues :=
for $doc in /xbrli:xbrl
let $factValue := $doc//xs:QName("bd-bedr:WageTaxDebt")
let $docId := $doc//xbrli:identifier/text()
where $docId eq "11"
return $factValue/text()
return $factValues
Run Code Online (Sandbox Code Playgroud)
引号之间的字符串是来自仅给出字符串的输入中的字符串
我收到此错误:
[1.0-ml] XDMP-NOTANODE: (err:XPTY0019) $factValue/text() -- "bd-bedr:WageTaxDebt" is not a node
Stack Trace
At line 19 column 21:
In xdmp:eval("xquery version …Run Code Online (Sandbox Code Playgroud) 我有20000个文档,每个文档包含50多个元素.我想要其中一个元素的值,所以这占了20000个值.
"问题"是它们都是相同的值,因为testdata.现在,当我在一个元素上运行cts:element-values()时,它给了我两个值.这不是我想要的,我希望所有20000都在我的屏幕上.
我添加了范围元素idex,这是搜索所需要的.这是我正在运行的查询.
declare namespace xbrli="http://www.xbrl.org/2003/instance";
declare namespace venj-bw2-i="http://www.nltaxonomie.nl/nt11/venj/20161214/dictionary/venj-bw2-data";
let $facts :=
let $searchNode := "venj-bw2-i:Income"
let $searchNode2 := "venj-bw2-i:AssetsNoncurrent"
return cts:element-values(xs:QName($searchNode))
return $facts
Run Code Online (Sandbox Code Playgroud)
并返回值
300000和310000
用这个添加文件:
for $i in 1 to 20000
return
xdmp:document-insert(fn:concat("document", $i, ".xml"),
<xbrli:xbrl xmlns:xbrli="http://www.xbrl.org/2003/instance" xml:lang="nl" xmlns:kvk-i="http://www.nltaxonomie.nl/nt11/kvk/20161214/dictionary/kvk-data" xmlns:venj-bw2-dm="http://www.nltaxonomie.nl/nt11/venj/20161214/dictionary/venj-bw2-domains"
xmlns:venj-bw2-i="http://www.nltaxonomie.nl/nt11/venj/20161214/dictionary/venj-bw2-data" xmlns:rj-i="http://www.nltaxonomie.nl/nt11/rj/20161214/dictionary/rj-data" xmlns:rj-t="http://www.nltaxonomie.nl/nt11/rj/20161214/dictionary/rj-tuples" xmlns:kvk-t="http://www.nltaxonomie.nl/nt11/kvk/20161214/dictionary/kvk-tuples" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:nl-cd="http://www.nltaxonomie.nl/nt11/sbr/20160610/dictionary/nl-common-data" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:venj-bw2-dim="http://www.nltaxonomie.nl/nt11/venj/20161214/dictionary/venj-bw2-axes">
<link:schemaRef xlink:type="simple" xlink:href="http://www.nltaxonomie.nl/nt11/kvk/20161214/entrypoints/kvk-rpt-jaarverantwoording-2016-nlgaap-micro.xsd"/>
<xbrli:context id="FY16d_ManagingOrSupervisoryDirector_Typed_1">
<xbrli:entity>
<xbrli:identifier scheme="http://www.kvk.nl/kvk-id">{$i}</xbrli:identifier>
</xbrli:entity>
<xbrli:period>
<xbrli:startDate>2016-01-01</xbrli:startDate>
<xbrli:endDate>2016-12-31</xbrli:endDate>
</xbrli:period>
<xbrli:scenario>
<xbrldi:typedMember dimension="venj-bw2-dim:ManagingOrSupervisoryDirectorNamesAxis">
<venj-bw2-dm:ManagingOrSupervisoryDirectorTypedMember>Frank Jensen</venj-bw2-dm:ManagingOrSupervisoryDirectorTypedMember>
</xbrldi:typedMember>
</xbrli:scenario>
</xbrli:context>
<xbrli:context id="FY16d">
<xbrli:entity>
<xbrli:identifier scheme="http://www.kvk.nl/kvk-id">{$i}</xbrli:identifier>
</xbrli:entity>
<xbrli:period> …Run Code Online (Sandbox Code Playgroud)