如何高效运用XSLT 3.0的map和array功能?
- 内容介绍
- 相关推荐
本文共计839个文字,预计阅读时间需要4分钟。
直接说结论:
真正可用的是:
-
map { "key1": "val1", "key2": 42 }—— 字面量构造 map -
array { 1, 2, 3 }—— 字面量构造 array -
map:merge( (map { "a": 1 }, map { "b": 2 }) )—— 来自map命名空间的实用函数(需声明xmlns:map="http://www.w3.org/2005/xpath-functions/map") -
array:for-each($arr, function($x) { $x + 1 })—— 注意:这是array:for-each,不是map();它返回新 array,行为接近 map,但函数名固定
怎么安全创建和访问 map/array?
XSLT 3.0 支持 map 和 array 类型,但必须确保处理器支持(如 Saxon HE 10+、Saxon PE/EE、BaseX 10+),且启用 XPath 3.1 模式(version="3.1")。
本文共计839个文字,预计阅读时间需要4分钟。
直接说结论:
真正可用的是:
-
map { "key1": "val1", "key2": 42 }—— 字面量构造 map -
array { 1, 2, 3 }—— 字面量构造 array -
map:merge( (map { "a": 1 }, map { "b": 2 }) )—— 来自map命名空间的实用函数(需声明xmlns:map="http://www.w3.org/2005/xpath-functions/map") -
array:for-each($arr, function($x) { $x + 1 })—— 注意:这是array:for-each,不是map();它返回新 array,行为接近 map,但函数名固定
怎么安全创建和访问 map/array?
XSLT 3.0 支持 map 和 array 类型,但必须确保处理器支持(如 Saxon HE 10+、Saxon PE/EE、BaseX 10+),且启用 XPath 3.1 模式(version="3.1")。

