我必须处理大量数据,并在使用xsl:function
或xsl:call-template
之间混淆。只是想知道哪个更快更适合使用。
<xsl:variable name="tabledata">
<xsl:copy-of select="table:table_process(.)"/>
</xsl:variable>
或
<xsl:variable name="tabledata">
<xsl:call-template name="table_process">
<xsl:with-param name="table_data" select="."/>
</xsl:call-template>
</xsl:variable>
答案 0 :(得分:3)
我认为您必须使用特定的XSLT处理器和一组特定的XML输入和XSLT代码来衡量性能。我更喜欢使用<xsl:variable name="tabledata" select="table:table_process(.)"/>
作为最紧凑和优雅的XSLT 2表示法,它也可能表现更好或者至少消耗更少的内存,因为你不需要复制函数调用的结果但是直接使用它。这完全取决于函数的确切功能以及是否需要复制其结果。