我正在尝试在xquery中创建一个类似于结构的哈希映射/键值对。我知道xquery中存在类似结构的地图:http://www.w3.org/2005/xpath-functions/map/
甚至在Saxon中找到了文档:http://www.saxonica.com/html/documentation/functions/map/
但我不确定如何创建地图或使用它。
到目前为止,这是我的代码:
declare namespace map="http://www.w3.org/2005/xpath-functions/map";
let $a := map:map()
但是我收到了一个错误:
Cannot find a matching 1-argument function named
{http://www.w3.org/2005/xpath-functions/map}map()
那么我究竟如何在xquery中使用地图?
答案 0 :(得分:2)
语法在XSLT 3.0和XQuery 3.1中,并且随着工作草案的发展而经历了几次迭代。当前语法(在Saxon 9.7中支持)允许
map{}
表示空地图
map{'a':1, 'b':2}
对于具有已知条目数的映射(键和值都可以是任意表达式),并且
map:merge(for $x in //emp return map{$x!name : $x!@salary})
表示具有静态未知条目数的地图。