我在以下集合中的eXist-db中有XML文件:
我希望在满足条件的所有“银行”中的/ db / OCR集合中运行XQuery,并希望返回满足条件的银行名称。我写了一个查询但是卡在了FLWOR表达式的返回部分。
declare default element namespace 'http://www.xbrl.org/2003/instance';
declare namespace ifrs = 'http://xbrl.ifrs.org/taxonomy/2013-03-28/ifrs';
for $x in collection("/db/OCR")
let $z := $x/xbrl/ifrs:Assets (: want to have query in assets of all files in the banks :)
return
if (exists($z) and xs:integer($z/text())>9999999)
then ???
现在我如何为符合条件的结果返回像“Everest_Bank”这样的集合名称?请帮忙。
答案 0 :(得分:2)
在XQuery引擎上执行此操作的通用和可移植方式是:
document-uri( root($z) )
将在eXist-db中为您提供文档的URI;集合信息在URI中;
eXist-db特定方式(警告:不可移植到其他XQuery实现)是:
util:collection-name( $z )
在http://exist-db.org/xquery/util
函数名称空间中。