在 XQuery 中创建地图
Creating a map in XQuery
我正在尝试在 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 中使用地图?
语法在 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})
对于具有静态未知条目数的地图。
我正在尝试在 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 中使用地图?
语法在 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})
对于具有静态未知条目数的地图。