XML editors are easy to find. Great XML editors are hard to find. Most are limited by using the proprietary Java. There is no point shouting out that your editing product is open source if the user has to acquire a product with a restrictive proprietary licence.
I left out a few editors, including Bluefish, because they cannot be used on all the workstations I use. I left out the ones that cannot validate against a DTD or an XML schema to ensure the output is clean XML. I also left out some proprietary products where they offered no advantage over free open source products.
Added xmlBlueprint under Proprietary.
A DTD is a Document Type Definition. DTDs were used before XML Schemas. DTDs were simple to use, required massive repetition for complex definitions, and were not written in XML.
XML schemas are replacing DTDs because XML schemas are written in XML and provide simple ways to write complex definitions. XML schemas come in several versions with most products supporting less than the full range of XML schema features.
Eclipse is a development environment originally built by IBM then made open source. Unfortunately Eclipse is based on the proprietary Java. If you are happy with the restrictions in Java 1.4 and later, you can get Eclipse working on all the major workstation operating systems.
Eclipse by itself is of no use. You need plug ins to provide specific functionality. There are plug ins for many languages, including XML, and for database design. If you can get good quality plug ins for all the languages you use, then you can edit all of them in Eclipse using the common Eclipse project management features.
I can get an Eclipse plug in for every language I use but some of the plug ins are not as good as the best stand alone editors. For me Eclipse is not yet the best choice. Have a look at Eclipse when you have a quiet weekend and no distractions. Try the Eclipse plug ins for XML.
A lot of XML editors are based on Java which means they are slow and unreliable. Java, until recently, was not cross platform. Java would crash on more than one platform, Java would run so slowly that you would waste a lot of time getting to the crash, but Java would not let you complete a reasonable task on all of the main desktop platforms.
Today Java functions in a usable manner on several platforms including the Unix now used by Apple. Computers are now reaching speeds where they are almost fast enough for Java. Unfortunately Java is still proprietary and Sun is making their licence more restrictive each year.
Skip Java and look for open source editors based on open source languages. Look for editors based on efficient languages instead of Java.
Some XML editors will not edit documents that are not well formed XML. That means you cannot use the editor to recover a broken file. XMLmind warn that their editor is in this category. You will not need to fix broken XML documents if you only edit documents you create with a validating XML editor.
On occasions people will send you files created with minor errors. The best way to fix the file is to open the file in an editor that highlights the first variation from the XML standard then lets you edit in raw text mode. I open the document in a raw text editor and an XML validator at the same time. I can then use the error message from one to pinpoint the error in the raw text.
Some validating editors either refuse to read the erroneous file or do not provide information on the location of the error. You cannot fix large XML files if your XML editor's validation messages do not show the location of the error. Look for XML validation with good information about the location of the error and the text surrounding the error. Butterfly XML Editor is one editor that specifically tries to read and diagnose erroneous files.
The Bitflux Editor can be used in Web pages to edit XML for presentation as XHTML but is useless for most other XML tasks.
Butterfly XML Editor
Butterfly XML Editor is out now in beta form. The big advantage of this editor is that it attempts to read files with faulty XML so you can fix up the files. You can fix up all those XHTML files that are still half HTML.
You can use DTDs, XML schemas, or let the editor analyse the document to find the element structure. The third option lets you add data to any document that has enough data to include all the elements you need in your document. You could use an existing document as a template, delete the bulk of the data, then add your data. This may be the only editor with this self configuring feature.
The editor also has realtime incremental validation. That sounds far better than continually clicking a validate button.
GenDoc was previously named GenDiapo and is based in MerlotXML, as is Xerlin. I tried the earlier GenDiapo and had problems with the user interface. The screenshot for the latest GenDoc looks good. The Web site for Xerlin makes Xerlin look like it is better supported.
Jaxe is open but only beta. The editor can use an XML schema but edits only at element insertion point. What happens if you restructure a document by deleting a middle level element. Does Jaxe revalidate the lower level elements in their new position? Some of the other editors appear to be more flexible in the way they validate.
Morphon XML Editor
The Morphon XML Editor is available at www.morphon.com but is no longer supported. The editor used DTDs to validate input and CSS to format the display. The package includes a CSS editor also unsupported. There was a PDF output plugin added just before support stopped.
I tried the Morphon XML Editor on one project where we were switching from DTDs to XML schemas. Back then the editor did not support schemas or not al least to the level we used. The latest version supports XML Schemas but I do not know to what level.
The Morphon XML Editor is based on Java which meant I could not use the editor on all workstations until Java 1.4 finally fixed major Java programming errors. Java 1.4 introduced licensing restrictions that meant I could not install Java at all the sites where I needed an editor. In the end I could only use the Morphon editor for a short time at one site.
Xerlin is promoted as being extensible. This might be the choice if you cannot find exactly what you want and you have time to extend an existing product. Xerlin works with Java from Java release 1.2.2 up which means you may be able to avoid the licensing restriction in Java 1.4.
Xerlin has an "action" plugin named XSLT and some "DTD" plugins. I did not look at the difference ways to extend Xerlin. Xerlin is based in MerlotXML as is GenDoc.
XML intelligence Visual Editor
This XML editor is written in Tcl/Tk. The Web site, tkxmlive.sourceforge.net, appears to be mostly written in Russian. I know some Tcl/Tk applications that could use this editor.
XML Web GUI
EditiX costs US$39 and does not offer anything special over the other commercial products listed here. You get the choice of three document definitions, DTDs, XML Schemas, and Relax NG schemas. If it does everything you want and costs less that the other commercial products offering the same facilities, then consider this editor. You can download a 40 day trial to make sure this is the right editor.
Exchanger XML Editor
Available at www.exchangerxml.com for US$98. This editor looks to be more comprehensive than the rest with project management, SOAP, and a few other things. My preference would be to use Eclipse for project management in large projects and plug in an editor focused on XML. If you have used Exchanger along side Eclipse, please let me know which you prefer.
oXygen XML editor
Even though oXygen XML editor costs US$99 (currently discounted to US$74), there are some good reasons for buying this editor. You get the choice of four document definitions, DTDs, XML Schemas, Relax NG schemas, and NRL Schemas. You can use it stand alone or as an Eclipse plug in.
xmlBlueprint costs US$45. The editor uses DTDs or XML Schemas to ensure your XML has the correct structure and is supplied with default schemas for DocBook, GPX, JSP, MathML, SOAP, SVG, XHTML, XSFO, and XSLT. XmlBlueprint is a native Windows application so it is fast but you cannot use the same editor when you switch to Linux. Read more ->
XMLmind XML Editor
XMLmind XML Editor uses CSS to present a view of a document similar to a word processor. You can also see the raw document in a tree view. There is a free version with limited features and an expensive version, US$220, with more features. There are multiple user licences.
This editor works with DTDs and XML schemas. It has built in XSLT to help you output documents in various formats. There is a spell checking facility with dictionaries for several languages including English. Not many XML editors have usable spell checking. The product is from France which means the dictionary might be English, not American, a great feature for everyone living outside of America.
Xopus has a simple free version and a more useful version that costs 700 euros. The introduction says Xopus runs in any browser but the demo says you need Microsoft's Internet Explorer 5.5+. I will not install Internet Explorer just to run an XML editor.
I have never used X2U. Please send me your experience with X2U. X2U costs EUR$19.99. The user fills out forms built from an XML Schema, a DTD, or an XML form (XForms).
Peter's XML Editor
I have never used Peter's XML Editor but I like the name so I mention the editor here. Unfortunately the editor uses MSXML and Microsoft's Internet Explorer which puts it dead centre in unusable territory.
XMLSpy is the reference tool for XML editing on Windows based computers. XMLSpy does everything except serve a really good espresso while you edit. The beginner edition is US$59. The pro edition is over US$800 with all options and professional support.
I used XMLSpy on a number of projects. The product was buggy. Yes $800 software can be as buggy as free open source products. I had to click the validate button to check my changes. Some more modern products check everything as you type.
I have not found the XML Editor of my dreams. I need one today to create a new XML schema then create some XML files based on the schema. Today's choice is the Butterfly editor because I like the sound of it's incremental validation. Tomorrow, when I start filling XML files with text data, I might look for an editor with spelling and grammar checking.