Debugger very unhelpful
Posted: Thu Oct 25, 2007 7:30 pm
I've been using the Oxygen XSLT debugger based on Saxon8B for the first time and found it very unhelpful.
The error shown below was generated at line 202 of my source file - a line which doesn't invoke the root() function at all so cannot directly be responsible for the error.
Furthermore it seems impossible to get the debugger to halt the stack and retain variables or other information on a fatal error like this in order to work out what is actually causing it further up the stack invocation.
I've therefore been unable so far to debug the problem as I cannot trace the context in which it occurs.
Although I can run to a given line and inspect the in-memory information of the stack, I cannot inspect variables at the point the error takes place. Once the error has been triggered, the 'Nodes/Value Sets' and 'Variables' sections are empty, and cannot work out where the invocation of the root() function actually is which causes the problem.
Can anyone explain to me how I should use the XSLT debugger to debug these terminal errors?
Is there a mechanism to have it halt on error and retain some information I can inspect about the data it's manipulating when the failure takes place?
Here's the error...
SystemID: /Users/cefn/Documents/code/btok/ide/code/xslt/librng.xsl
Location: 202:0
Description: A sequence of more than one item is not allowed as the first argument of root() (<define/>, <define/>)
URL: http://www.w3.org/TR/xpath20/#ERRXPTY0004
...and it relates to line 202 which looks like...
<xsl:choose>
Cefn
The error shown below was generated at line 202 of my source file - a line which doesn't invoke the root() function at all so cannot directly be responsible for the error.
Furthermore it seems impossible to get the debugger to halt the stack and retain variables or other information on a fatal error like this in order to work out what is actually causing it further up the stack invocation.
I've therefore been unable so far to debug the problem as I cannot trace the context in which it occurs.
Although I can run to a given line and inspect the in-memory information of the stack, I cannot inspect variables at the point the error takes place. Once the error has been triggered, the 'Nodes/Value Sets' and 'Variables' sections are empty, and cannot work out where the invocation of the root() function actually is which causes the problem.
Can anyone explain to me how I should use the XSLT debugger to debug these terminal errors?
Is there a mechanism to have it halt on error and retain some information I can inspect about the data it's manipulating when the failure takes place?
Here's the error...
SystemID: /Users/cefn/Documents/code/btok/ide/code/xslt/librng.xsl
Location: 202:0
Description: A sequence of more than one item is not allowed as the first argument of root() (<define/>, <define/>)
URL: http://www.w3.org/TR/xpath20/#ERRXPTY0004
...and it relates to line 202 which looks like...
<xsl:choose>
Cefn