当使用 xsl 变量而不是 XPath 表达式时,XSLT 的性能是否会提高?更新:我正在使用 Xalan 进行处理。
问问题
224 次
2 回答
3
当使用 xsl 变量而不是 XPath 表达式时,XSLT 的性能是否会提高?
这取决于所使用的 XSLT 处理器。如果 XSLT 处理器有一个好的优化器,在很多情况下它会自己进行因式分解,而手动执行此操作并没有真正的速度增益。
然而:
将评估结果“保存”在变量中可以使代码更短且更具可读性。
这是 DRY(不要重复自己)最佳实践的一个很好的应用。
依赖优化器并不总是有效。
在编写可移植代码时,我们不应该依赖优化器,这些代码旨在由多个不同的 XSLT 处理器执行——例如在编写函数/模板库时。
对于某些 XSLT 2.0 处理器,例如 Saxon,甚至可以xsl:function
通过打开函数记忆来优化执行。在 Saxon 的情况下,这是通过将扩展属性设置为 来完成saxon:memo-function
的"yes"
。
于 2013-01-23T13:11:44.350 回答
0
这是我的经验,但更重要的是它提高了代码的可读性。它还使代码重用变得更简单。
于 2013-01-23T12:53:35.053 回答