Thursday, November 20, 2008

XSL Tools Debugger - NodeSets

The XSL Tools debugger is still behind some of the more established debuggers by various vendors. However, unlike those others, XSL Tools integrates in with the existing Debug Framework. One of the issues that we have is bug 214235. As it stands right now, a Nodeset variable and a variable that contains a string, are represented the same way. Ideally we would allow a Nodeset variable to be expanded, so that you could see the contents of the nodeset. I've made some slow, but good progress on this over the last several days.



The debug framework can be a confusing mess to figure out at times. Particuarly in the way the current XSL Tools debugging framework is implemented, as it doesn't return the actual objects. It just expects string values for the various variables. So, I've found a work around for the time being. Depending on the XSLT processor being used, you can get a DOM Nodelist representation of the NodeSet. From this you can create a serialized version of the contents, and then re-parse it back into a Nodelist with in the debugger framework. This then allows for a custom NodeListVariable to be created, and the XSLValue set the appropriate IValue information that the debugger framework expects.

I've got a bit more work to do on this, but it is showing some promise as shown above. Expect to see this mostly implemented in the 1.0M4 milestone.

0 comments: