Two-stage recursive algorithms in XSLT

XSLT’s roots are in Lisp and Scheme, so while it’s Turing Complete, things such as looping are non-trivial. The standard solution to this is recursion. However recursion has its costs, such as clobbering all the memory.

A group of XSLT developers have been active on the XSLT list, working on ways to use recursion without eating memory or crashing the XSLT processor. They developed a class of two-stage algorithms which break problems down into managable sets that avoid deep recursion, and are manyfold faster than straight recursion.

Why does this matter? In XML-Based databases, XSLT transforms play the role of stored SQL proceedures, and these techniques are required for operations such as sums and products.

Possibly Related posts (machine generated):

  1. XSLT Performance Hints
  2. Comparing the speed of DOMXML v. Sablotron for XSLT Transforms in PHP
  3. jd.xslt with support for 1.1 draft
  4. Debates on the usefulness of XSLT
  5. XSLT Library for FileMaker Pro 6

More like this: .

blog comments powered by Disqus