Review: Altova XMLSPY 2004

If XML is the "new currency" for the Web, then Altova's XMLSPY is the money changer. Builder AU technical editor, David McAmis takes a look at this latest installment from Altova.

If XML is the "new currency" for the Web, then Altova's XMLSPY is the money changer. Long recognised as the premier tool for editing XML, the latest version, XMLSPY 2004, has raised the standard for Web tools.

XMLSPY is best known as an XML editor, but it can be used for much more, including validating XML, work with XML schemas, DTD (document type definitions) and transforming XML using XSL. XMLSPY 2004 is the latest release of the product and boasts a number of new features designed to make working with XML easier.

To start, the user interface has been extended to include context-sensitive helpers that can be used to complete XML statements and provide the structure for commonly used XML structures. You'll notice the difference as soon as you start to edit your first XML file. For example, if you create an attribute called <Phone>, as soon as you enter the closing bracket, XMLSPY will automatically put in the closing tag for you. Likewise, if this is an attribute that you have used before, you can simply start typing the first few letters of the attribute name and XMLSPY will present a list of attribute names for you to select from. This is similar to how Microsoft's "intellisense" feature works in Visual Studio and means that you can fly through creating an XML file.

Figure 1: The XMLSPLY interface

In addition, the advanced find and replace, shown in Figure 2 is also a valuable tool for modifying large XML files easily. You can specify which type of XML text is replaced, so you won't accidentally overwrite the attribute contents or comments within your file when you really meant to change an element name.

Figure 2: Advanced find and replace options

XMLSPY 2004 makes it easy to see exactly what you are doing, with a number of different "views" of your XML files, including a grid view, design view, browser view, etc. In terms of a user interface for XML development, you can't get much better than this. If you are still editing and formatting XML files in notepad, then you don't know what you are missing. The different views make it easier to see what the resulting XML schema or file will look like and the built-in validation keeps an eye on things so you don't end up with mal-formed XML.

In addition to user interface enhancements, XMLSPY 2004 has also been tuned to work better with database development, including enhanced support for most of the major database platforms, including:

  • Access
  • SQL Server
  • Oracle
  • MySQL
  • Sybase
  • DB2

Support is also available for databases accessed through ADO and ODBC. This enhanced support means that you can point XMLSPY 2004 at a particular database table or view and generate an XML schema based on that table or view. We test this feature with a number of the supported database platforms and it provided consistent results across the platforms we tested, generating an XML schema that matched the underlying database structure. This feature is particularly useful if you need to transport data between database formats or applications, as you can then use the resulting XML schema to do a mapping between the source and target systems.

Oracle or Tamino XML Server, users will find that there is an even tighter integration with these two platforms, with direct access to features specific to the platform, including the ability to query Tamino directly, general sample XML files and more.

For hard-core developers and code-monkeys, XMLSPY 2004 also extends the development environment with an enhanced COM and Java API, which enables developer to automatically generate Java, C++ and C# code from an XML schema. In addition to automatically generating the required code whenever you change a schema, you can also automatically generate the documentation in Word or HTML format for your schema, which can be a real time-saver.

Visual Studio Developers who don't want to leave comfort of their IDE might like the optional integration module that you can download from the Altova Web site, but XMLSPY 2004 integrates as easily with other development platforms, including Borland and open-source environments. In fact, when you generate code using the API you will be given the choice to open the code in a number of environments, including Mono, which is an open source development environment for creating .NET applications. This platform and vendor independence means that XMLSPY is as well suited for a wide variety of developers who use XML.

For developers who are developing or working with Web services, there is also a set of SOAP tools built into XMLSPY 2004 which enable the tool to interpret WDSL documents. You can also use XMLSPY 2004 as a testing platform to creating and submit SOAP requests and then view the SOAP response. There is also a SOAP debugger that you can use to track down errors in your Web services and for most developers, this toolset should provide everything you need to test and debug basic Web services.

Figure 3: SOAP Features

Another stand-out feature for developers in XMLSPY 2004 is the XML differencing engine, which can be used to compare and combine separate XML schemas or files. When working with multiple files, you can show the differences between the two in a text or grid view and then merge the two files together, with a number of options to ensure that the structures you want are merged and everything else is not.

Figure 4: Differencing engine options

So in the end, if you work with XML or develop applications that use XML in any shape or form, you should have a copy of XMLSPY. Already a strong tool in previous releases, XMLSPY 2004 has raised the bar on XML editing and integration and should save you development time and effort when working with XML.

Builder AU rating:
- 4/5

Altova XMLSPY 2004
Company: Altova
Price: Starting at AU$1095
Platforms: Microsoft Windows 98 and later, Mac OSX with Virtual Machine 6, and Linux with Wine

Editor's Picks

Free Newsletters, In your Inbox