如何高效运用XSLT 3.0的map和array功能?

2026-04-29 13:222阅读0评论SEO教程
  • 内容介绍
  • 相关推荐

本文共计839个文字,预计阅读时间需要4分钟。

如何高效运用XSLT 3.0的map和array功能?

直接说结论:

真正可用的是:

  • 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分钟。

如何高效运用XSLT 3.0的map和array功能?

直接说结论:

真正可用的是:

  • 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")。

阅读全文