Maybe the point is that optimisations come in many flavours. The
sum of the techniques used is very hard to predict as everyone
is saying but some basics can be used as an aid to stylesheet
coding style.
I have often resorted to encouraging XSLT developers to use a
profile tool for the answers, but that is probably just laziness
on my part, it is easier than explaining the techniques to use
on the processor I work with.
The Scheme example of requiring an implementation to support tail
recursion struck me as odd on first reading, but the sense of it
becomes so clear when you use a language that has no such
guarantees about its implementations. I have also wondered why
they just stopped at this one technique, were additional ones
not very interesting or maybe not general enough to deserve such
a special rule.
On a more practical note I think a guide of good/bad practice,
at the "don't create a RTF when a select can be used" level,
might help somewhat but it could not give the definitive answers
David appears to want. Perhaps there is a non-trivial language
where these issues have been well explored for multiple
implementations but I don't know of any.
Kev.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list