XMLSpy 2005: Develop and Debug XSLT and XPath 2.0
XMLSpy 2005 Enterprise Edition features debugging support for XSLT, XPath, and WSDL. Plus a first look at Nantpad Professional 1.1.
Altova's XMLSpy 2005 is a professional development environment for XML technologies, including schemas, DTDs, stylesheets, XPath queries, SOAP, and databases. The latest version of XMLSpy continues to feature a top-notch editor with text, grid, browser, and graphical views of XML files. You find ease-of-use features in every menu.
For example, you can create a Web Services Description Language (WSDL) document from scratch using the graphical WSDL design view. As you add input and output messages, they appear in a handy Overview pane, which makes navigation easy. In many cases, you simply need to connect to a live Web service to get started with a copy of its WSDL file. Open the Web service's URL and select the Schema/WSDL view to edit your local copy in graphical mode. With a few clicks, you can create a SOAP request, add your parameters, and submit the data or request to the Web service. SOAP debugging works well once you configure the proxy and other settings.
XMLSpy lets you massage XML content in XSL transformations to suit other schemas or formats such as CSV. The built-in XSLT/XQuery debugger lets you step through a transformation while separate panes display the source XML, the transformation document, and the rendered result (see Figure 1). This valuable feature takes somewhat longer than it should to master, partly because the documentation doesn't feature a cookbook tutorial. It would be nice to see the addition of task-based XSLT debugger help.
XML is all about standards. Sample applications use industry standards such as DocBook, Patents, W3C specifications, and XMLResume. XMLSpy 2005 supports enhancements in the 2.0 versions of XSLT and XPath, such as grouping and user-defined functions. Although XMLSpy is advertised as "completely conformant" to one of the working drafts, you should keep an eye out for revisions to the specifications and potential incompatibilities with the XSLT engine.
XMLSpy 2005 Enterprise Edition includes a valuable code generator that reads a schema file and produces Java, C++, or C# code complete with a Borland, Mono, or Visual Studio project file. Several other utilities add value to this package: You can convert between XML schema definitions and major database products in a snap; a diff tool lets you view and resolve differences in XML content; and there's a complete environment for macro scripting.
On the downside, I find it somewhat cheesy that Altova uses XMLSpy's menus to upsell purchasers to its other products. For example, the "Design HTML/PDF Output in StyleVision" menu item offers to download a free 30-day trial of that product. Overall, XMLSpy remains a robust, full-featured tool that keeps you productive in all facets of XML design and development.
XMLSpy 2005 Enterprise Edition
Quick Facts: High-end graphical development environment for XML technologies of all kinds.
Pros: Excellent editors, tools, and debuggers; emphasizes standards and emerging standards; code generation for Java, C++, and C#.
Cons: Documentation for XSLT/XQuery debugger not task-based; marketing built into menus.
Nantpad Professional 1.1: Edit NAnt Scripts in a GUI
by Don Kiely
NAnt is an open-source build utility driven by an XML config file and a command-line tool. The config file that drives a NAnt build can be daunting to set up and maintain, particularly as it grows to contain multiple build targets. Profusion Software Studios' Nantpad Professional 1.1 provides a GUI for building NAnt config files (see Figure 2).
I wasn't sure that a commercial front end to a free, open-source tool was a promising concept, but Nantpad makes it far easier to maintain builds than using a text editor. The best benefit of using Nantpad is that it makes it easier to find and understand the many tasks built into NAnt and configure them correctly. Nantpad doesn't improve on the sparse NAnt documentation, but puts it in easy reach while working on a build script.
The main Nantpad window contains three panes. The first pane has a treeview of the open config file, with nodes for each build target and its tasks, nested as deeply as necessary. The second pane is a task editor that displays help and a list of attributes for the item selected in the treeview. Here is where you can set attribute values, create new attributes, and remove them, aided by lists of available attributes. The third pane displays the current XML script in the build script file. A cursor moves to the corresponding node when you select it in the treeview, but unfortunately, selecting a node in the XML script doesn't change the selected item in the treeview.
Two other tools, Expression Builder and Schema Manager, round out the interface. Expression Builder makes it easy to find and use the many functions NAnt provides to automate builds, such as one that lets you insert the current date and customize the build based on environmental settings. Schema Manager maintains the current list of NAnt tasks and features so you can keep current as the NAnt working group releases stable versions. You can also run individual build targets directly from Nantpad and view the output, saving the chore of moving to a command prompt to test your build script.
There are a few minor blemishes in the GUI. For instance, it doesn't present a list of existing build targets for the depends attribute, and there's no indication that a long script task is still running.
Profusion Software Studios asks what seems like a lot of money for what you could do with any simple text editor, but the same could be said about Visual Studio. Nantpad let me take advantage of many of NAnt's features that I hadn't used before, mostly because they were right there in plain view in the Nantpad interface. The improvement in my productivity makes the Nantpad price well worth it.
Nantpad Professional 1.1
Profusion Software Studios
Quick Facts: A GUI front end for NAnt build scripts, simplifying the complexity in NAnt.
Pros: Well-designed interface; tools for building complex scripts; adaptability to changes in versions of NAnt.
Cons: Rough edges on the interface; a bit expensive.
Don Kiely is a senior technology consultant. When he isn't writing software, he's writing about it, speaking about it at conferences, and training developers in it. Reach him at email@example.com.