Basic Search  Advanced Search   
Topics Resources Free Library Software XML News About Us
home » info bank » product reviews » Visual XSLT Sat, Feb 23, 2008

Review: Visual XSLT

By: Darshan Singh, Managing Editor (
Monday, November 11, 2002

ActiveState Visual XSLT Having the right tools in the developer toolbox increases the productivity and accelerates the implementation cycle. If you are already using or planning to use XPath/XSLT in your applications, one tool we would recommend is Visual XSLT by ActiveState. Visual XSLT is designed to help you create/edit, debug, and manage XSLT transformation projects. It integrates into Microsoft Visual Studio .NET, the industry standard IDE.

Here at PerfectXML, we constantly deal with XPath/XSLT in various ways, and Visual XSLT has been a tremendous help. The Visual XSLT IDE features and debugging facilities allowed us to promptly diagnose and fix problems instead of spending hours debugging complex XSLT stylesheets otherwise.

Product: Visual XSLT
Developed By: ActiveState
System Requirements: Visual Studio .NET Final Version
Windows 2000/Windows XP/Windows NT 4.0 SP5 and above
Pricing & Licensing: Commercial License: $295
Educational User License: $29.95
Volume discounts are available for purchases of 10 or more licenses
To download a FREE 21-day Evaluation copy or for more details visit

Some of the salient features that we use a lot include:

XSLT Editing:
Visual XSLT IDE is the most powerful environment for working with XSLT stylesheets. It provides a rich set of editing features that truly simply writing XSLT stylesheets. All these features are configurable and can be turned on or off using the standard Tools | Options interface.

Figure 1: Visual XSLT IDE Options (Tools | Options | Text Editor | XSLT | XSLT Specific)

The auto-complete or IntelliSense® is the super time saving feature. As soon as you start the angle bracket, Visual XSLT shows a pop-up list of namespace prefixes defined in the document:

Figure 2: Namespace prefix auto-complete

Once you select the namespace prefix and type colon (:), it suggests a list of element names allowed in the selected namespace and based on the current context:

Figure 3: Element names auto-complete

You can select the element from the list using the arrow keys, or start typing the first characters of the element name to jump to a particular element. Based on the element selected, the auto-complete feature shows a list of attributes:

Figure 4: Attribute names auto-complete

There are many such cool auto-complete features, such as for attribute values, template names (with xsl:call-template), parameter list (with xsl:with-param ), automatically inserting single or double quotes for attribute values, automatically completing the end tags, and so on.

As you'll notice by looking at the screenshots here, Visual XSLT does excellent job of syntax highlighting/coloring the XSLT code, making it easy to read.

The Check syntax while editing option when enabled, Visual XSLT monitors the stylesheet code as you type, and reports syntax errors (if any) by underlining with a red wavy line, and if you hover over the error, it provides a tip to fix the syntax error. The errors are also added to the Visual Studio's Task list.

Figure 5: Syntax error reporting by underlining with a red wavy line and adding items in the Task list

With respect to matching the start tag and end tag, Visual XSLT offers two features. First, depending on the cursor location, it highlights the start- and end-tag, making it very easy to find an end-tag for any element:

Figure 6: Highlighting the start- and end-tag

While working with XSLT stylesheet, you may want to focus on parts of it, while not worrying about some other parts of code (templates) which you know for sure are working fine. You can fold or outline such areas, which will collapse that block. To view the contents of this collapsed area, either you can hover over it, or expand it again by clicking at the + symbol or on the three ellipses (...).

Figure 7: Collapsing and Expanding blocks of XSLT code

If you monitor various XSL mailing lists/newsgroups, quite often you'll see that the question posted relates to usage of old working draft XSL namespace ( If you try to use the old XSL namespace, Visual XSLT immediately points that out and suggests the correct namespace:

Visual XSLT suggests correct XSLT namespace usage

Finally, it is important to mention about Visual XSLT's smart indenting feature, which automatically indents the XSLT code. Indent size is based on the value specified in the Tabs dialog, indentation is incremented each time an open tag is entered, and indentation is decremented each time a close tag is entered.

XSLT Debugging:
XSLT debugging sometimes becomes really challenging, especially for XSLT beginners. Visual XSLT greatly simplifies locating the problem, by setting breakpoints and stepping through the XSLT stylesheet as it is being applied, allowing evaluating the XPath expressions, and viewing values of variables in the Watch window, the current context node details in the Locals window and so on. While debugging, Visual XSLT indicates the current line in both the XSLT program and the XML input and output files:

Figure 8: XSLT Debugging

While you are debugging, the results of the transformation are immediately made available in the Output window, helping you to see where exactly the problem is, and to make sure that the output being generated is correct.

The XSLT debugging feature allows XPath expressions to be evaluated in the Watch window. Also while debugging, you can select all or part of an XPath attribute value, hover over it and the tooltip will show what the XPath expression evaluates to. Quite useful debugging facility. The following screenshot shows XSLT debugging session in progress; note the Watch and output windows, and the XPath expression value tooltip:

XSLT Debugging

XPath Workshop:
This one is my favorite! The XPath Workshop (View | XPath Workshop) is a great tool to build and test XPath expression; and a wonderful XPath learning aid too.

Figure 9: XPath Workshop

By default the tool works on the root node (/), you can change the context node by clicking on [..] button on the right. The tool also allows you to build the expression using the XPath functions:

Figure 10: XPath Functions

XPath workshop maintains a MRU (most recently used) list of XPath expressions.

Template Browser:
Visual XSLT uses the Visual Studio Class browser to show a list of templates; double clicking on the template name takes to the respective template in the stylesheet:

Figure 11: Template Browser

In summary, as many others have said, we would also like to share the same experience and say that Visual XSLT Rocks! Go ahead and download the eval copy; or better, buy Visual XSLT and experience this great XSLT development tool!

Also be sure to check out XSLT Cookbook, a new collaborative Web site, built by ActiveState, which hosts contributions to XSLT lore.

Product: Visual XSLT
Developed By: ActiveState
System Requirements: Visual Studio .NET Final Version
Windows 2000/Windows XP/Windows NT 4.0 SP5 and above
Pricing & Licensing: Commercial License: $295
Educational User License: $29.95
Volume discounts are available for purchases of 10 or more licenses
To download a FREE 21-day Evaluation copy or for more details visit

  Contact Us | E-mail Us | Site Guide | About PerfectXML | Advertise ©2004 All rights reserved. | Privacy