4

我正在尝试在 xquery 中创建类似结构的哈希映射/键值对。我知道 xquery 中存在类似地图的结构:http: //www.w3.org/2005/xpath-functions/map/

甚至在撒克逊找到了文档: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 中使用地图呢?

4

1 回答 1

5

该语法在 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})

对于具有静态未知数量的条目的映射。

于 2015-11-30T18:24:25.160 回答