Just so folks know: Yes, there seems to be a confirmed problem with variables -- specifically, the interaction between deferred evaluation of variables and the new shared-DTM variable stack -- in the current release of Xalan. The most common symptom will be that the content of a variable is damaged after a call to another template. I'm still working on the problem, since it's a moderately convoluted one... but I believe this accounts for most of the recent variable-related bug reports.
(Summary of the problem: When the variable stack is popped on exit from a template, it is supposed to discard the Result Tree Fragments for all variables created within that template. The problem is that it's currently discarding all RTFs created _during_ that template -- which may include an RTF created by late resolution of a variable's value. The challenge is finding a fix that neither requires giving up the use of shared DTMs nor hamtrings the attempt to release and resuse memory.)
