我如何 return XSLT 3.0 中函数的映射?
How do I return a map from a function in XSLT 3.0?
假设我有一个 f:get-map()
函数 returns 地图。
如何在另一个函数中使用该函数的结果?
现在我是这样做的:
<xsl:function name="f:get-another-map" as="map(*)">
<xsl:variable name="result" select="f:get-map()"/>
<xsl:map>
<xsl:map-entry key="'key1'" select="map:get($result, 'key1')"/>
<xsl:map-entry key="'key2'" select="map:get($result ,'key2')"/>
</xsl:map>
</xsl:function>
但是这样比较麻烦。
有更好的方法吗?
一般来说 return 任何函数调用的结果都来自您使用 xsl:sequence
和 select
表达式调用函数的函数,例如<xsl:sequence select="f:get-map()"/>
returns 调用 f:get-map()
.
的结果
假设我有一个 f:get-map()
函数 returns 地图。
如何在另一个函数中使用该函数的结果?
现在我是这样做的:
<xsl:function name="f:get-another-map" as="map(*)">
<xsl:variable name="result" select="f:get-map()"/>
<xsl:map>
<xsl:map-entry key="'key1'" select="map:get($result, 'key1')"/>
<xsl:map-entry key="'key2'" select="map:get($result ,'key2')"/>
</xsl:map>
</xsl:function>
但是这样比较麻烦。 有更好的方法吗?
一般来说 return 任何函数调用的结果都来自您使用 xsl:sequence
和 select
表达式调用函数的函数,例如<xsl:sequence select="f:get-map()"/>
returns 调用 f:get-map()
.