Improve variables display in XSLT debugger
Posted: Fri Nov 23, 2007 6:09 am
I find it maddening when debugging XSLT when the processor is paused on an instruction, and I cannot examine variables which "should" have been processed before that instruction.
I realise that the processor (I am using saxon 8b) executes variable descriptions in a lazy fashion, but when trying to debug that behaviour isn't very helpful.
I have found that I can get around the lazy execution issue by putting a variable statement at the end of each template that makes a sequence out of all the other variables I have used, ie select="$this, $that, $theOther". Even though this workaround variable is the last statement in the template/function, and so is unused, just having it there seems to be enough to force saxon to evaluate its select statement and hence all of the other variables.
This is obviously a pretty poor workaround, particularly when you have a large number of templates/functions, and it would be lovely if oxygen were to implictly put in my dummy select statement to force the variables the be executed so that I can examine them.
I realise that the processor (I am using saxon 8b) executes variable descriptions in a lazy fashion, but when trying to debug that behaviour isn't very helpful.
I have found that I can get around the lazy execution issue by putting a variable statement at the end of each template that makes a sequence out of all the other variables I have used, ie select="$this, $that, $theOther". Even though this workaround variable is the last statement in the template/function, and so is unused, just having it there seems to be enough to force saxon to evaluate its select statement and hence all of the other variables.
This is obviously a pretty poor workaround, particularly when you have a large number of templates/functions, and it would be lovely if oxygen were to implictly put in my dummy select statement to force the variables the be executed so that I can examine them.