 | Level: Introductory David Mertz (mertz@gnosis.cx), Transformer, Gnosis Software, Inc.
01 Aug 2002 Updated 21 Aug 2006 In this two-part series on XML editors, David looks at the progress of commercial tools in the year-and-a-half since he last looked at this tools category. These tools have progressed from largely cosmetic wrappers around text editors to fleshed-out development environments that substantially ease the process of working with XML-oriented technologies. This first installment examines Java and MacOS applications, specifically Morphon Technologies' Morphon 2.0.5, SyncRO's <oXygen/> 1.2.1, and ElfData's XML Editor 1.14. Since the last time (see Resources) I looked at XML editors, quite a lot has changed. A great deal of progress has been made, and in this two-part series you'll get the details on the new features and offerings of some of the editors available to you. Of the nine editors I set out to review in this series, I was unable to obtain two -- XMLmind XML Editor (XXE) and Vervet Logic's XML Pro. The remaining seven reviews are split over two installments to allow me to look in detail at the features of each product. In this, the first part, I look at the tools targeted at JVMs and the MacOS (or, from my perspective -- programs I can run on my iBook). In researching products, I didn't find anything Linux/Unix specific that was both current and of similar sophistication to those XML editors I'm reviewing here. Of course, the Java-based tools will run fine under Linux, as well as on other Java-enabled platforms. I am deliberately leaving out any discussion of general text editors, including everything-but-the-kitchen-sink editors like (X)Emacs and more modest but customizable personal favorite text editors. The products that I'll cover in this roundup are:
- Morphon Technologies' Morphon 2.0.5 (Note: August 2006: Morphon Technologies has stopped active development of the Morphon XML and CSS Editor Suite. The editor is no longer available.)
- SyncRO's <oXygen/> 1.2.1
- ElfData's XML Editor 1.14
- Altova's XML Spy 4.4
- Wattle Software's XMLWriter
- NetBryx Technologies' EditML Pro 2.6.
- Corel XMetal 3
The first two, Morphon and <oXygen/>, are Java technology-based applications
that I tested on an iBook laptop running OSX 10.1.5 and the
latest Apple HotSpot Java 1.3.1. I mention these specs as
they are probably relevant to my impressions of responsiveness; UI performance has
long been a weakness in Java applications. I also tested XML Editor
on the same iBook, but it is a native MacOS application
written in REALBasic. I'll discuss these products in this installment. XML Spy, XMLWriter, EditML Pro, and XMetal are all Win32 native Applications (details can be found in the next installment). These were obviously tested on a Windows machine -- specifically, a Win98 laptop with a Pentium-II processor (366Mhz). None of the UI speed issues that I encountered during my testing on the iBook applied to these products. The Win32 applications were zippier and more responsive, probably because of the difference between compiled and interpreted languages (not differences between operating systems and CPUs). No further comment on that aspect is needed. What makes a good editor? You might want an XML editor for many different reasons. It is quite possible that a product I like is not suitable for your specialized need, or that something I'm less impressed with fits your need exactly. Here's what I looked for. XML documents come in two broad types: prose-oriented and
data-oriented. Prose-oriented documents borrow from XML's SGML roots.
A prose format will typically have a number of rules for when
sections, subsections, paragraphs, chapters, graphics, and other items can
nest inside one another. Typically, one uses inline,
character-oriented markup for individual words and phrases
(bold, emphasis, citation, links, and such). DocBook is a famous
and widely-used example; IBM's developerWorks internal article
format is another example (I used both for testing). In
contrast, data-oriented documents have little text as such,
but rather contain nested table-like structures of numeric
values and simple names. Data-oriented XML is often similar to
RDBMS tables, and sometimes is generated from such databases.
An ability to view XML as columns and rows is often important
for data-oriented XML. In addition to these broad types, special XML dialects have emerged.
Many of these are data-oriented, such as SOAP, XML-RPC,
WSDL, RDF, and so on. While all the XML editors reviewed here can
handle custom DTDs to some degree, your particular needs might
require more specific customization. Some of the same issues
might apply to prose-oriented formats, particularly complex
ones like DocBook, LegalXML, or TEI. Generally, an XML editor
should make it significantly easier to create and modify valid
XML documents that conform to the DTD or W3C XML Schema that you
need to work with. I tend to edit prose-oriented documents; I used IBM
developerWorks-conformant articles as test cases, and in most
cases tried to play with something in the more complex DocBook
format. In addition, I work on a lot of platforms, and am
particularly interested right now in finding a set of tools to
use on my new iBook (and its underlying Unix OS). Windows-only
tools tend to appeal to me less than cross-platform ones.
Morphon Technologies' Morphon 2.0.5
Note: August 2006: Morphon Technologies has stopped active development of the Morphon XML and CSS Editor Suite. The editor is no longer available.
Morphon is a Java technology-based XML editor that offers a
word processor-like view of prose-oriented XML documents. In
fitting with my preference, Morphon runs across a variety of
platforms -- anything with Java 1.1 or above (with Swing
installed for older Java versions). I tested it on the MacOSX
iBook mentioned earlier. Unfortunately, on a 500Mhz G3 with generous memory, Morphon
still runs just slow enough that you cannot ignore Java's lack
of UI responsiveness. It is usable, but you notice this issue.
One minor concern: Morphon's look-and-feel options adapt
somewhat less to the Mac UI than do some Java applications
(like <oXygen/>), but only Mac purists will care greatly about
this one way or the other. I looked at Morphon in its beta version, and it has progressed
nicely in both features and stability since my last comparative review
(see Resources). Unfortunately, it is
still possible to arrive at an unstable/semi-frozen state when
using Morphon. It never gets so bad that you can't easily
close and restart that application, but you will probably need
to do so occasionally. In addition, the CSS-Editor forces an
awkward Z-order for some dialog and info boxes such that they need to be
completely hidden or closed in order to use the main CSS-Editor
window; they should instead be simply pushed backward.
I suppose with a large enough screen you could work around this, but not on a
laptop. Morphon gives you several views of an XML document. You can look at
the raw XML source code in preview mode (you cannot make changes).
The main view is a word processor-like screen that
utilizes CSS to configure the display. As I mentioned earlier,
I think CSS is a better approach to display configuration than
is XSLT or a custom format (after all, that is what CSS was created for).
In addition to the word processor-like view,
Morphon gives you a nested boxes structural view. The idea
here is that each element body is marked by either a labeled
enclosing rectangle or by a labeled underscore. Fonts,
colors, and the like are still determined by CSS, but the main view
does an extremely good job of displaying both the meaning
(which typography emphasizes) and structure of a document at
the same time. While using the main view, you can also opt
for a collapsible tree view, which allows you to
navigate the document. With this tree view, you can display the
first few words of each element body, which is also helpful. Figure 1. The Morphon XML editor

By using strictly word processor-like views, Morphon basically
precludes the possibility of creating invalid XML documents in
the first place. This is more seamless than applications that
have a separate validation step and merely highlight problems.
Context-sensitive dialogs and menus point you to the insertions
that are allowed at a given position. Morphon builds in an XSLT
processor, and comes with some default XSLT definitions for
converting DocBook to (X)HTML. You can easily use other DTDs
and stylesheets. You can search XML documents with multiple regular
expression variants (such as posix, sed, or perl) or plain text.
You can search on text, attribute value, attribute name, or
element name. However, unlike some tools, Morphon does not
allow XPath searches, which seems like the most XML-oriented
style. However, Morphon does display the XPath to the
current cursor position. Morphon costs $150 for a standard version, $75 for an academic
license. Site licensing rates vary.
SyncRO <oXygen/> 1.2.1 I really took a liking to <oXygen/> during this review. While
in many ways, <oXygen/> is much less comprehensive than some
other products, what is included is very well thought-out and
useful. Like Morphon, <oXygen/> is a Java-based XML editor
that I tested on a 500Mhz iBook. You will need a more current
version of Java, however, to run <oXygen/> -- 1.4 is recommended,
1.3 is required. For whatever reason, <oXygen/> was not quite as sluggish as
Morphon; Java technology is still not blazingly fast, but working with the
program was consistently comfortable. One reason for the speed improvement is the fact that <oXygen/> has a much simpler display format -- XML source rather than a
word processor-like view. But <oXygen/> is also faster in terms of non-display issues like
validation and XSLT/FO (formatting objects) transformations (as well as perfectly mundane
stuff like pulling down menus and opening dialogs). The <oXygen/> editor is stable and well-organized, but it is
best to think of it as an enhanced text editor rather than a
fully custom interface for XML editing. Within its simple
interface, however, the bells-and-whistles are extremely helpful.
Both the interface and the extras are clearly geared
more towards programmers than towards document-creators or
data-entry folks. You can preview (X)HTML output of transformed XML
documents, and you can enhance XML formatting, but basically, you
can only edit syntax-highlighted XML text. Figure 2. The <oXygen/> editor

One thing I really like about <oXygen/> is its "code insight"
features.
Most of the tools I looked at have some context-sensitive
prompting for tag and attribute entry. <oXygen/> has the
best of these. When you type an opening angle bracket, a list
of allowable tags pops up right below the cursor, and the
highlight moves based on partial name completion; required
attributes are included when the tag is selected. Included in
the choices are the open tags that can be closed at
the cursor position. For the best results, code insight will
utilize a DTD or an XML schema -- but if one is not available,
<oXygen/> can guess the document structure
based on the XML itself. If you like, you can save this
inferred structure as a DTD. Another nice touch is the included XSLT stylesheets for DocBook
and XHTML. In addition to standard XSLT transformations,
<oXygen/> has a built-in FO processor. This lets you create
print-ready PDF or PS documents out of XML documents. The only
other reviewed tool that has this capability is XML Spy, but
that product requires you to download extra tools for this, and I could not
get this to work during my testing. <oXygen/> produced
attractive PDFs with no special effort. <oXygen/>'s search facility is both unique and clever. Basic text searching (case sensitive versus insensitive, whole word, in tags, and such) is pretty standard. Regular expression searching is notable in its absence. What sets <oXygen/> apart is its XPath search facility. Some other tools allow composition of XPaths, but <oXygen/> displays a list of all matches in a pane, and uses the match list to navigate and highlight portions of the document. This is really useful, and very much in the spirit of XML. A single user copy of <oXygen/> costs a moderate $65, while the student version is $25. Site licensing is also available.
ElfData's XML Editor 1.14 XML Editor is a MacOS native application (for MacOS 8/9/X) that
is written in REALBasic. My understanding is that REALBasic
has recently been ported to Windows, or that the port is
underway. So perhaps ElfData will decide to port to that
platform also. I do not know too much about the REALBasic language, but the
speed feels similar to that of Java. XML Editor is
comparable to <oXygen/> in this respect -- fast enough to work
with comfortably, but clearly slower than native compiled
applications. The two views of an XML document that XML Editor provides are
an XML source view and an enhanced tree view.
The first is just what you would expect, syntax highlighting in a text
editor. The XML source view is similar to that of <oXygen/>, but
without the option for prettifying the source with structured
indentation. The default view in XML Editor, however, is the
enhanced tree view, which is similar to the tree pane in
Morphon. In tree view, the XML document is presented in the
style of the MacOS Finder list view. Each line lists an element,
comment, declaration, or processing instruction with an
icon on the left to identify the type of node. Elements that
contain child nodes can be expanded and collapsed; each line
also contains as much information about the element attributes or body as
will fit. One aesthetic feature of XML Editor improves
usability quite a bit: Every other line is shaded in light
gray (like ruled paper), which helps orient your eye while
navigating. Figure 3. ElfData's XML Editor 1.14

In addition to the main view window, XML Editor allows you to
display some context-sensitive dialog windows. I would prefer
a paned interface to the floating dialogs, but this style works
fine. One floating dialog displays either the attributes or
body text of the currently selected item (depending on which is
selected). You edit the attributes or text in this dialog.
Another optional floating dialog is a holder, which is a list
of tags that can be inserted. A holder can be generated from a
DTD or edited manually -- but it is not context-sensitive to
limit insertions to currently valid elements. Insertions using
the holder maintain well-formedness, but not necessarily
validity. XML Editor has several validation options. You can validate:
- On change (which validates when you change the document)
- Under mouse (validates the element the mouse is over)
- Globally
- By selection,
- In batch mode for multiple documents
However, validation always takes place after the fact, instead of directing editing actions.
On the plus side, XML Editor uses a fast validation mode by
default (with a strict option), which means that validation
is far faster in XML Editor than in other products I have
looked at (including command-line tools).
In some borderline cases, the fast validation
might not handle some parametric entity declaration subtleties
correctly, but I did not encounter any such issues during
testing. On the downside, XML Editor lacks any transformation
capabilities. There is no XSLT or CSS display other than a crude
browser preview option, and certainly no FO processing. The
search capability of XML Editor is fairly rudimentary, as well. You
can search for text in elements, attributes, bodies, etc., and you
can accumulate a list of search results, but there is no
regular expression support, and no XPath support. A single user copy of XML Editor will cost you $55.
Other players Pixware's XMLmind XML Editor (XXE) appears to be a Java-based
editor that uses CSS to configure a word processor-like display
(which I think is the right approach, although not the
approach used by most products). However, I failed to get a
response from the company, and I must confess that I find XXE's
"commercial but only available in milestone versions" status
confusing. I am not quite sure if this is a shipping product
or just a good idea for a product -- the screenshots and
descriptions look promising, though. Vervet Logic's XML Pro looks to be forgotten rather than
not-yet-born. Based only on their Web pages, XML Pro appears to
be a Java-based editor that focuses on data-oriented XML
documents. The company did not respond to requests, and their
Web pages appear not to have been updated in a few years (for
example, compatible Windows versions are said to include 95, 98,
and NT4.0 -- no mention is made of the various ME, 2000, and XP
variants, either as compatible or not).
Summary All three of the products reviewed here make day-to-day work with XML easier. None are perfect, but each has its own strengths and conveniences -- and two of the products can be had for well under $100, which is little risk. In the next installment, I will look at how Win32 products fare in this lineup.
Resources - Read the second installment in this series, which examines Win32 OS applications, specifically Altova's XML Spy 4.4, Wattle Software's XMLwriter 1.21, NetBryx Technologies' EditML Pro 2.6, and Corel'sXMetal 3 (developerWorks, September 2002).
- Read David's previous comparative roundup of XML editors, "XML Matters: A roundup of editors" (developerWorks, January, 2001).
- Find out more about the The Morphon XML editor at Morphon Technologies' home page. Note: August 2006: Morphon Technologies has stopped active development of the Morphon XML and CSS Editor Suite. The editor is no longer available.
- Read about (and download) SyncRO's Java-based XML editor, <oXygen/> at
www.oxygenxml.com/.
- Mac enthusiasts can get the skinny on ElfData's XML Editor 1.14 at
www.elfdata.com/xmleditor/.
- For more about Pixware's XMLmind XML Editor (XXE) go to
www.xmlmind.com/xmleditor/.
- Read about formatting objects in the W3C specification for XSL.
- Get more XML resources on the developerWorks
XML technology zone.
- Check out Rational Application Developer for WebSphere Software, an easy-to-use, integrated development environment for building, testing, and deploying J2EE applications, including generating XML documents from DTDs and schemas.
- Become an IBM Certified Developer in XML 1.1 and related technologies.
-
Find other articles in David Mertz's XML Matters column.
About the author  | 
|  | David Mertz must have mislaid his MacGuffin in one of his other articles. It is bound to show up again soon. David may be reached at mertz@gnosis.cx; his life pored over at http://gnosis.cx/dW/.. Suggestions and recommendations on this, past, or future, columns are welcomed. |
Rate this page
|  |