YOUR FEEDBACK
John Portnov wrote: This code does not work for me. I created a new website and a C# console applic...
SOA World Conference
Virtualization Conference
$300 Savings Expire August 22, 2008... – Register Today!

SYS-CON.TV
TODAY'S TOP SOA & WEBSERVICES LINKS


Stylus Studio XML IDE
Providing tools to work efficiently with XML

Extensible Markup Language, more popularly known as XML, has found its uses in many areas of software products. Though XML offers a lot of features and uses, it's hard to develop with and maintain without good tools. This review discusses such a tool that would help XML and Java developers use XML efficiently.

Introduction
Stylus Studio is not only an XML tool but is also an Integrated Development Environment (IDE). It provides the developer with various tools to work efficiently with XML and related applications.
It can be downloaded from the site listed in the References section.

Once you download it, it is a simple install. During installation, it will ask the usual questions about the directory location but you can choose the defaults that it provides. Once it's installed and you have launched it, it will ask for the license key and some registration info. Doing all that will bring up the first screen as shown in Figure 1.

Document Creation
There are a variety of documents that can be created using Stylus Studio, some of which are:

  1. DTD Schema
  2. XML Schema
  3. XML Document
  4. XQuery File
  5. WSDL
  6. XSLT Stylesheet
The creation process is very simple and intuitive. Moreover, there are lots of converters and wizards that Stylus Studio provides; for instance, there are many occasions when you have an XML file and want to generate an XSD from it. With Stylus Studio it's just a few clicks away. It provides a converter just for doing that. There is also a custom converter with which a user can convert files to XML format.

There are many more wizards that the Stylus Studio provides such as converting an XSD to XML document, and DTD to XSD. See Figure 2 for a snapshot of the wizard.

XML Editing
Stylus Studio provides a variety of views and tools to edit and create XML files. A user can open an XML file in Stylus Studio and it's ready for editing. The XML can be formatted so that all the tags are aligned to provide more readability just with a click of a button. The elements and attributes are easily identifiable with distinct colors that can also be customized by the user.

Stylus Studio automatically provides multiple views of an XML file in different tabs. Three types of views are provided: text, tree, and grid. These views are helpful during development. Figure 3 and Figure 4 show the tree and grid views. The actual XML file is presented in Listing 1.

An XML schema or a DTD can be easily attached to an XML document and the document can then be validated by clicking the validation button. As soon as a document is attached to an XSD or DTD, the document is validated immediately and the user is made aware of any violations present in the document. This makes it very easy for the user to detect errors and correct them at runtime as they are creating or viewing the XML document.

XML Schema
As mentioned above, it's very easy to create an XML schema from an already existing XML document. As an illustration, I have converted the books.xml document to an XSD as shown in Listing 2.

In Figure 5, the editor shows an accurate graphical view of the XSD, making it very easy to edit and debug. Apart from the presented view of the XSD, Stylus Studio also provides a tree view. A really smooth feature of Stylus Studio is the documentation of the XSD. Any developer would know how tedious and frustrating it is to document an XSD. With Stylus Studio, it's easy and it generates the entire basic XSD document.

The XSD can be attached to any XML document and then validated by clicking on the validation button. Any errors the XML might have are clearly displayed.

XQuery and XPath
XQuery is a programming language that leverages XPath for XML document navigation. As with other languages, having the right tool can greatly simplify the application development process, and this is where Stylus Studio shines. Its intuitive, integrated debugger and XPath expression evaluator allow you to quickly and easily debug XQuery. Debugging is supported for XSLT and Java as well as XQuery. This is where Stylus Studio shines. It has a friendly debugger so the XPath/XQuery expressions can be debugged easily.

Here is an example XQuery:

for $c in //books/book
where $c/authors/author="Tyler Jewell"
return $c/subject

This query is on the books.xml in Listing 1 and returns the subject of the book by author "Tyler Jewell"; the result of this query is shown in Figure 6. Figure 6 also shows Stylus Studio's various panes. As seen in the left-hand side of the Preview pane there are various views and execution buttons. Also, note that the execution of this query is for a particular scenario that is Scenario 1. Stylus Studio allows you to define multiple scenarios so you can evaluate different factors that might influence query performance, such as the source XML file and XQuery processors. Stylus Studio supports numerous XQuery processors, including DataDirect XQuery, which is specially optimized to execute XQuery against relational data. In this example, I used the Saxon 8.9.0.3, another popular XQuery processor supported by Stylus Studio.

The XPath/XQuery debugger is accessible to the user by clicking the "bug" button. Breakpoints can be easily scattered over a query by toggling them and the user can start debugging.

The Java code for the example XQuery can be generated by Stylus Studio, which can be used as a standalone program or in any other application. Listing 3 shows the Java file generated by Stylus Studio, with appropriate comments in the code about the JARs it needs. As a bonus, Stylus Studio can compile and execute the Java code it generated. Also, users can use the debugger provided by Stylus Studio to debug the Java code.

Summary
Overall I found Stylus Studio very useful and it can save you tons of time and effort while fine-tuning XML applications. This tool can increase developer productivity and the quality of your applications. It performed fairly well compared to similar tools in the market. It was fast to start and restart. Also, it was pretty responsive to view the files and switch between various views.

Stylus Studio is very easy and intuitive to use as the Java IDEs. If you are a Java developer and use Eclipse or other IDEs, using Stylus Studio will come naturally to you

Test Environment
Operating System: Win XP Pro
CPU: 2Ghz
Mem: 1G

References
•  Stylus Studio: www.stylusstudio.com/ !

About Vijay Phagura
Vijay Phagura, a professional Java/J2EE consultant has over twelve years of experience in software architecture and development. Vijay currently consults with companies; he specializes in architecture and development of software using J2EE and other Java technologies, like JDMK.

SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS


ADS BY GOOGLE