XML Editor Brief Notes

This page is visible to the public

XML Editor Brief Notes

As an XML file is a plain text file, any editor will do! In Windows, that means the supplied Notepad will allow you to edit XML files. however, there are far better tools.

I use Notepad++ as my general editor. In common with most editors designed for programmers, it has syntax highlighting. In addition, Notepad++ can highlight matching brackets and autoclose tags, and with the XML tools plug-in it can also validate, transform, evaluate XPATHs and perform other common XML related tasks. However, it is primarily a generic editor, so while it is useful for manipulating files there are better, that is dedicated, tools available.

For more background information on XML editors, the Wikipedia article at http://en.wikipedia.org/wiki/XML_editor and the w3schools article at http://www.w3schools.com/xsl/xsl_editors.asp provide a good introduction.

The following links are to listings of available editors:

Pure XML editors

These are intended to work with data files, that is .xml files. They are mainly aimed at manipulating the XML content, though many have useful features such as validation and transformation tools too.

Their main advantage over a generic editor is their user interface - it is expressly designed to support the manipulation of XML files and their data content rather than supporting generic editing tasks. In addition, these tools offer more friendly views of the data usually in the form of some sort of graphical view as a table or a grid, and not just the text based source view offered by non-XML specific editors.

Note, to assist in evaluating the tools I created a broken XML file. It has a hyphen where there should be a semi-colon.

XML Copy Editor

Open source XML editor, with support for XSLT transformations. It is fast, supports validation and has a unique UI that makes manipulating the XML content very easy. However, it does not support the development of XSL components. So, while my favourite XML editor, it is not suitable for our purposes.

It will load the broken file, and highlights the error line supported by a meaningful message in the status bar (if you know to look there!).

More information at, and download from , http://xml-copy-editor.sourceforge.net/.

XML Notepad

Microsoft's original XML Notepad (released in 1998) was a simple XML editor, with no other functionality. It was excellent at manipulating the content of simple XML files, but you had to be careful because it was not fully standards compliant. The new version has at least sorted out that last problem. The main change though is internal, the code being ported from C++ to .NET. It is still a simple XML editor, though some extra features such as support for XSLT transformations have been added now. However, it still does not support XSLT development and so does not meet our needs.

Another objection to XML Notepad is its error handling. It refuses to load the error file, suggesting I use Notepad instead. It correctly identifies the errors, but reports them in a pop-up message box the text of which you cannot select and copy.

This is a Windows only tool and requires .NET.

See Microsoft's XML Development Center at http://msdn.microsoft.com/en-gb/xml/default.aspx.

XmlPad

A powerful, feature rich tool, but then it is intended for 'enterprise software development'. The tool comes with project management built in, links to CVS for version control, etc. It has full support for developing and debugging XSL, XSD, etc. but this is based on either its own internal processor or the option of MSXML40 or MSXML30. A curious choice over Xalan or Saxon, or even MSXML60.
While undoubtedly fast to use, it was a bit cumbersome. Also, I found a few bugs (e.g. context sensitive right click menus offer appropriate actions such as 'Close Selected' on a file, but doesn't then close the file). In addition, the website documentation is a bit erratic. So, while it looks promising it doesn't imbue one with confidence. Oh, and it didn't detect the error in my test file.

More details at http://www.wmhelp.com.

Jaxe

Java XML Editor is a venerable tool, and still available from http://jaxe.sourceforge.net/. It is still being developed, but like many such open source projects has its quirks. To the developers' credit these, such as which XML Schema functions it does not support, are well documented. However, the limitations do restrict its usefulness and for us, because it is an XML editor without XSL development support, it's not suitable for our use.

Jaxe is typical of many of the entries in lists of XML editors on the web. At least, Jaxe is current software. The lists abound with examples of abandoned projects.

TXE - The XML Editor

This is an example of an abandoned project. It is still available at http://www.geocities.com/shjejurkar/TXE/readme.html. On reading the documentation, one can see by the project timestamps, and the fact that it has not been updated to use anything more recent than Java 1.2, that the project has been abandoned. As a tool, it is far too basic for most needs being purely an XML editor and has has some peculiar restrictions with work arounds suggested in the Help files. The program doesn't even prompt the user to save a file on close even when the file has been changed&hellpi;

Fully functional XML editors

These offer extra functionality beyond that of the simple editors listed above. The main difference is the addition of tools to help in writing XSL transformations, and related XPATH and XQUERY settings. This enhancement includes the use of context sensitive entry helpers, in other words with these programs you can only write valid code because they restrict what you can type into the file. The code may still not do what you want it to do of course, but at least it is syntactically correct!

There are several such XML editors with full XSLT support available. They are differentiated not so much by their support of XML and its technologies, but by their support for the demands of large businesses. Top end editors support large scale business use through features such as batch updates to files. These features are not required in our project's relatively small scale use of XML.

The following four editors all offer excellent support for straightforward XML manipulation through both text and graph based interfaces; as well as extensive support for XSLT and related technologies.

Editix

This editor comes in two editions, best summarised by their respective tag lines in the website:

  • A free version for non-commercial use: "EditiX Lite Version Free XML Editor , Free Visual Schema Editor, Free XSLT Editor, Free XQuery Editor, Free CSS Editor".
  • A paid for version for business: "Editix XML Editor, Schema Editor, XSLT Editor, XSLT Debugger, XSL-FO Editor, XQuery Editor".

Editix loads the error file because it does not validate a file on loading. It does find the error on a subsequent explicit check of the file but reports the most cryptic error message of any of the tools evaluated. The error message is accurate but written in technical jargon. This is not unreasonable as it is marketed as a professional tool.

The default parser is Xerces, though others can be installed.

The default transformer is XALAN, though others can be installed.

Editix supports UTF-8 and UTF-16, as well as UCS-4, most ISO-8859 encodings, various Japanese encodings and sundry others.

More information at http://www.editix.com/.

Exchanger XML Editor

This too has a free Lite version and a paid for Professional version. The main difference between the two is that the latter adds an XML source Grid view and XML Diff/Merge functionality. The free version does include an XSLT Debugger, which the equivalent free Editix version lacks.

Exchanger loads the error file and correctly identifies the problem. Like Editix, the error message is accurate but aimed at the technically proficient.

The default parser is Xerces.

The default transformer is Saxon (XSLT 1.0), it is supplied with Xalan and Saxon (XSLT 2.0) too.

More information at http://www.exchangerxml.com/.

There are two further professional XML editors to consider, though neither has a free edition. Both are are feature rich tools. These are intended for large scale development use and so include integration with third party databases such as Oracle and DB2, as well as software development tools such as Eclipse and subversion. None of these additional features are required on the ABLE project.

oXygen XML

This product's feature se and integration with third party products makes it particularly suited to the needs of software developers.

More information at http://www.oxygenxml.com/, with a table comparing the various versions of oXygen at http://www.oxygenxml.com/feature_matrix.html.

XMLSpy

This is the best selling XML editor with support for all XML-based technologies. This was one of the earliest XML editors. There used to be a free version, widely distributed on magazine CDs. Presumably Altova gained greatly from the feedback this exercise because XMLSpy is a very usable editor, though the free version of XMLSpy is no longer available.

A good recommendation is that W3Schools uses XMLSpy.

More information at http://www.altova.com/xml-editor/.

Conclusion

Currently I am using Editix Lite for most work as it is easy to use and has nearly all the features needed for ABLE. However, the absence of an XSLT Debugger means that I have kept Exchanger installed too.

Scratchpads developed and conceived by: Vince Smith, Simon Rycroft, Dave Roberts, Ben Scott...