RE: [xsl] Is there any XSLT debugger stepping in subexpressions of a complex XPath expression? (Was: Re: [xsl] XPath (and other W3C drafts))

Subject: RE: [xsl] Is there any XSLT debugger stepping in subexpressions of a complex XPath expression? (Was: Re: [xsl] XPath (and other W3C drafts))
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 16 Dec 2009 21:28:11 -0000
> Does Saxon really provide enough data via its debugging API 
> to support such debugging?

Yes. If you compile the stylesheet with tracing enabled, Saxon wraps a trace
expression around every node in the expression tree, and each one results in
a pair of enter() and leave() calls to the TraceListener.

The problem of course is that if you exposed this granularity in a debugger,
the steps would be so small as to make single-stepping extremely tedious. So
the debugger has to choose which calls to ignore. I don't know how oXygen
does this. I suspect it's doing the same as the Saxon XSLTTraceListener does
when you use the -T option, which is more-or-less to ignore all events other
than those associated with expressions that are classified as XSLT
instructions.

At present I can't quite see how it distinguishes between an xsl:if, and
xsl:choose, and an XPath if (perhaps it doesn't). They all produce very
similar code but there may be some provenance information retained to make
error reports more readable.

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay 

Current Thread