xsl-list
[Top] [All Lists]

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

2009-12-16 15:57:30
Ken,

I get good tracing data, however, instead of this (just an example):

"for $x in .

              return
                 if ($x//y)
                    then $x//z
                    else '42'"


The code is now unreadable  :(     :

"for $x in .
                    return
                       if (trace(trace($x, '$x = ')//y,
                                 '$x//y = ')
                           )
                           then trace($x//z, '$x//z =')
                           else trace('42', 'else 42')
            "

Cheers,
Dimitre

On Wed, Dec 16, 2009 at 12:45 PM, Dimitre Novatchev
<dnovatchev(_at_)gmail(_dot_)com> wrote:
Thanks a lot, Ken,

I will try this.


Cheers,
Dimitre

On Wed, Dec 16, 2009 at 10:10 AM, G. Ken Holman
<gkholman(_at_)cranesoftwrights(_dot_)com> wrote:
At 2009-12-16 09:11 -0800, Dimitre Novatchev wrote:

To shift to a what I consider a very important, related topic:

It has been many years since I have adopted writing complete programs
as one XPath expressions, something like this:
...
Now this has been facilitated even further by providing "let
expressions" in XPath 2.1. I will never have to need to define a
separate xsl:variable whose value is a sequence -- this was not
possible without having let expressions in XPath.

However, I cannot find adequate debugger support for this style of
programming.

Have you considered simply wrapping sub-expressions with trace() since
trace() simply returns the first argument as its return value?

The whole program above is treated as one single statement

I tell my students this is a safe way to debug their complex expressions
without disturbing the logic of the XPath expression (except for injecting
the syntax)

I hope this helps.

. . . . . . . . . . . Ken

--
UBL and Code List training:      Copenhagen, Denmark 2010-02-08/10
XSLT/XQuery/XPath training after http://XMLPrague.cz 2010-03-15/19
XSLT/XQuery/XPath training:   San Carlos, California 2010-04-26/30
Vote for your XML training:   http://www.CraneSoftwrights.com/s/i/
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video lesson:    http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
Video overview:  http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
G. Ken Holman                 mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--





--
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play
-------------------------------------
I enjoy the massacre of ads. This sentence will slaughter ads without
a messy bloodbath.




-- 
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play
-------------------------------------
I enjoy the massacre of ads. This sentence will slaughter ads without
a messy bloodbath.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--