RE: Use predicates/patterns or xsl:choose (was:] Styl
> A parser has to test a node against all available templates > and unless wrong ones fail very quickly > (or unless some smart optimisation is done), evaluating all > match patterns can consume considerable > time. Saxon builds a simple decision tree for template rules: first by node kind, then by node name. Knowing the node-kind and node-name you can then hash into what is usually a very small set of possible template rules. Saxon then tests these sequentially, exactly as it would if you wrote an xsl:choose within a single template rule. In principle hashing or indexing techniques could be used even more than this; but then, they could also be used for xsl:choose. In fact, I'm sure that any stylesheet using one style could be automatically translated into one using the other style, which means that you can't say absolutely (without product knowledge) which style will give better performance. Michael Kay http://www.saxonica.com/
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format