XSLT使用concat或多个value-of元素来连接变量?

问题描述 投票:0回答:1

假设我有20个要加入csv字符串的变量。我应该使用concat(),还是将所有变量彼此放在<xsl>元素中?

两个:

<xsl:value-of select="concat($var1, ';', ..., $var10)"/>

或:

<xsl:value-of select="$var1"/>
<xsl:text>;</xsl:text>
...
<xsl:value-of select="$var10"/>

特别是关于性能,因为我要处理一亿行。

contact方法类似于java StringBuilder,而元素方法类似于string += val重新分配吗?如果是,concat当然会更好。但这是真的吗?

java xml xslt saxon
1个回答
0
投票

几乎不可能有可衡量的性能差异,但是找出它的唯一方法是对其进行测量。

在Saxon中,concat()调用将始终在内存中构建字符串(直到下一个Saxon版本...),而一系列xsl:text / xsl:value-of调用将(可能)将其递增地写入串行器,因此,如果字符串很大,可能会影响内存使用。

© www.soinside.com 2019 - 2024. All rights reserved.