Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Web Development

eXcelon Stylus Studio 4.0


One old argument against using XSLT held that there was no GUI drag-and-drop XSLT editor. There have been a few valiant attempts to rectify this, but because XSLT is a language for manipulating other (XML) languages, the editors that have seemed to achieve longevity are the ones that recognize this one salient fact: XSLT is about nodes and text and really does not lend itself well to the drag-and-drop paradigm.

I reviewed eXcelon Stylus 1.0 about three years ago, with XSL still in beta. Even then, Stylus demonstrated that a lot of thought had gone into trying to discover the best way of working with this new medium. Today, eXcelon Stylus Studio has gone from being a promising concept to a superb, mature editor for XSLT. It has also extended its capability to other languages, including XML Schema Definition language (XSD) and Java servlets. The product's main focus is still XSLT, but the interface changes to match the document type being edited, a feature I found a little confusing at first but quite powerful after using the software for a while.



eXcelon Stylus Studio's well-designed interface changes with your current document type, whether it's XSLT, XSD, or Java servlets.

Stylus works primarily as a text editor for XSLT. In addition to savvy tag completion, the editor also includes intelligent support for XHTML, XSLT, and XSD that shows the valid tags available within each element. The editor also recognizes the XSL Formatting Objects (XSL FO) namespace, which is beginning to make inroads in printed page formatting.

The Stylus editor works natively with the Xalan-Java XSLT processor, which is relatively fast and currently very standards compliant (and includes a number of useful extensions of its own). However, it can also work with Microsoft's MSXML3 and MSXML4 processors, and it lets you substitute your own XSL Processor for the resident processor.

Writing XSLT can be a hair-pulling operation at the best of times, and a critical part of any decent XSLT editor is the debugger. Stylus Studio includes a fair one, though I found its interface slightly kludgy compared to the competition. However, with Stylus Studio I could readily determine the errors, see the contents of currently defined variables and attributes, step over or through XSLT code one instruction at a time, and even watch in an output pane as a specific command altered the output. The only downside here (and an understandable one, given the lack of a common language for performing debugging in XML) is that you have to use the default Xalan or MSXML4 XSLT processors to utilize most of the debugging methods.

XSLT really has two fairly distinct uses—converting an XML document into some presentation language, such as HTML, XHTML, SVG, XSL FO or the like, and converting an instance of one XML document with a given schema to another document utilizing a different schema. While Stylus is quite good at handling the formatting involved in the former case, it wins points for handling the latter case as well.

At a Glance

  Stylus Studio 4.0
Rating
Company eXcelon
URL www.exln.com/products/stylusstudio/
Price $399
System Windows NT, 2000, XP
Pros Sophisticated XML/XSLT editing, Schema generation, support for multiple XSLT processors, source control integration.
Cons Debugging only possible through Xalan or MSXML processors.

With Stylus Studio, you can take an XML document and generate a first-pass XSD schema for it. This is rarely sufficient by itself for building a full schema, but it certainly provides enough to reduce most of the tedious work of typing in a schema by hand. If you have two such schemas and one document for each, you can also use Stylus to generate an XSLT transformation that will map one document to another. This can dramatically reduce mapping issues, though knowledge of XSLT still won't hurt, as most mappings aren't straight one-to-one relationships between elements.

In general, the documentation that ships with Stylus Studio is first rate, though the Stylus interface is sufficiently well designed to make it unnecessary. The examples are quite illustrative and comprehensive.

Finally, eXcelon developers understand that XML creation can end up generating a great number of documents, and managing them all can be difficult at best, especially in multiuser environments. eXcelon Stylus Studio includes support for version control systems, including SourceSafe, ClearCase, and the open source CVS.

eXcelon Stylus Studio is definitely a useful tool for the XML/XSLT developer. It gives you remarkably powerful features for working with XSLT parameters, named or matched templates, different output formats, and more. Stylus Studio is reasonably priced, and it works well both as a standalone application for developing XSLT and in conjunction with other workflow products, including eXcelon's XML management system.


Kurt is an author and developer specializing in XML. Reach him at [email protected].



Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.