XML editor

The educational technology and digital learning wiki
Jump to navigation Jump to search

This article or section is currently under construction

In principle, someone is working on it and there should be a better version in a not so distant future.
If you want to modify this page, please discuss it with the person working on it (see the "history")

Definition

  • An XML editor allows an author to write XML contents

Typology and choice of XML Editors

List of critera for defining types of editors
  • WYSIWYG vs. WYSIWYM ("What you see is what you mean")
  • WYSIWYM means either tree editing or structured editing
  • Multi-functional vs. focussed on one kind of editing
  • Support or not for various XML vocabularies

How to choose an XML editor

Minimal things your XML editor should be able to do

In all modes:

  1. Check for XML well-formedness
  2. Check for validity against a XML grammar (DTD, Relax NG, XML Schema) # Highlight syntax errors
  3. suggest avaliable XML tags (in a given context)

For data-centric XML

  1. Allow viewing and editing of XML documents in a tree view
  2. Provide a context-dependent choice of XML tags and attributes (DTD/XSD awareness)

For text-centric XML

  1. Allow viewing editing of XML documents in a structure view
  2. Allow viewing editing of XML documents in somewhat WYSIWYG view
  3. Provide a context-dependent choice of XML tags and attributes (DTD/XSD awareness)
  4. Automatically complete XML Tags when working without a DTD
  5. Indent properly
A list of selection criteria
  1. Your budget
  2. Your type of XML data:
    • To edit small text-centric XML, use a structure editor or a somewhat wysiwyg XML editor.
    • To edit large texts (e.g. DocBook or DITA or your own schema), use an XML-aware wordprocessor or a somewhat wysiwyg XML editor
    • To edit data-centric XML, use either a tree editor or a structure editor
  3. Support for specific XML applications
    • To edit specific vocabularies, check if there is good support.
    • To edit vector graphics, e.g. SVG, X3D, MathML you may consider an appropriate drawing tool.
  4. Your technical skills
Recommendations for a free XML editor.
  • DSchneider spent a whole day (00:54, 30 October 2006 (MET)) on finding a suitable free XML editor suitable to beginners. None was found. Morphon is a more or less acceptable choice for a text-centric editor, XML Pad for a simple structure editor.
    • A lot of so-called XML editors are not even DTD-ware.
    • Some software crashed on start (e.g. the MS XML Notepad)
    • Most are difficult to learn and to use and/or don't parse a file because the XML file or its declaration doesn't have the exact vibrations needed.
    • Therefore, I rather recommend using a programmer's editor with an XML plugin (for beginner's maybe jEdit). These at least work fine and you can use them to edit other sorts of contents.

Wysiwyg and XML-aware Text Editors

I believe that XML Editors for tex-centric contents should work more or less like text processors ... I didn't have the chance to look at most of the products listed here (so there is no endorsement).

Such tools are either strictly WYSIWYG (e.g. Framemaker) or sort of Wysiwyg (e.g. like an HTML editor). In addition these tools also allow optionally to display tags, the XML context, an XML tree etc.

Adobe FrameMaker 7.2

Adobe would have the skills to do a nice tool based on FrameMaker (the only real Text Processor I am aware of. However, version 7.2 of Framemaker doesn't have XSL-FO support.

Framemaker is a very good SGML and XML text processor. However, XML editing needs a lot of configuration work and the product is quite expensive, but I like it nevertheless.

Problems: Major problem I found is mapping of internal objects (XRefs, Tables, Figures) to certain DTDs. E.g. one can't map XRefs to non-empty elements without C programming. See also my documentation on old FrameMaker SGML 6 XML. Some of it is still useful for version 7. (I didn't test 7.2's XSLT support yet, some of my problems with 7.0 may be solved with this I think).

Arbortext tools

One of the real XML players that produce real tools (e.g. Epic) that get decent reviews (but I did not test any). Price: over $1000

Plugins for MS Word

I really dislike this product (I don't like Open Office either btw). So here are just pointers w/o endorsement since I didn't test.

Simple text-editor like editing tools

Usually these tools allow you to define a CSS style-sheet that will make your editing somewhat Wysiwyg. These tools (in the same way as most HTML editors) also work as simple structure editors (i.e. offer a structure-editing view and also sometimes a tree-editing view).

Morphon

This is a freeware product. Win/MaxOsX, Linux, Solaris. Runs under Java 1.4.1 (downloads with or w/o Java VM). Also comes with a CSS editor.

  • Text view: To edit contents in a near-Wysiwyg view, one must define a CSS and associate it to the XML document. In addition boxes or elements labels can be shown (but see comments below).
  • Source view.
  • Treeview of tags (linked to text view).
  • XSLT support plus some plugins that can be installed
  • A popup window shows errors.

Opinion of DSchneider: Morphon is suitable for novice users, however they must be trained a bit before they can use the interface. In particular, users must learn to use the "Insertion tool" (within, before, after, replace, etc.) (16:55, 29 October 2006 (MET)). This is the only free XML text-view editor that I found and can somewhat recommend. I hardly can read labels for elements, system fonts can be changed but it didn't figure out how to affect labels). Copy/Cut/Move etc. is not very easy.

Vex

VEX home page

  • Free wordprocessor-like interface
  • Cross-platform (version 1.4 or better), based on the Eclipse platform.
    • One version of VEX is packaged with an Eclipse runtime
    • One version is available as plugin for Eclipse which you must install beforehand (120 MB +)
  • DTD support to define document types
  • CSS stylesheets to define document layout
  • The Vex editor widget is also available as a pure Java, cross-platform component with bindings to Swing and SWT. Developers can re-use this widget, for example as an applet in a web-based application.
  • Opinion of DSchneider. Nice tool for people with technical background, but you need a good computer for Eclipse and it takes space (download with Eclipse runtime is about 25 MB). Vex is IMHO totally unsuitable for beginners. Navigation and insertion is difficult to learn and in addition it has the very annoying habit of developper's IDE's to force people to define projects. I want to edit an XML text and not do a project...

Others

  • XMLmind XXE XML Editor, free standard edition. (V2.1 jan/2003, not yet tested, CSS-based word processor like view.)
  • Serna. Commercial WysiWyg XML Editor. Support for DocBook, TEI and Dita. Win/Unix. Specifications look good, but NOT TESTED @ Tecfa. Cheap Academic Prices ($45). [2/2004]

TTW Editors

needs additions !!!

TTW = "through the Web" - it works within a browser

  • xmlwebgui, Web-based (Dom-conformant) validating xml-editor (alpha in 3/2002). Way to go for editing of portal contents. Not sure that this product is still alive (2006).

Complex Tree/Text/Structure Editors with a GUI

(this section also include other tools ... to be placed elsewhere)

oxYgen

  • oXygen
  • Tree/structure editor Quote from an Email message: "<oXygen/> XML editor covers all the today's XML technologies offering support for any XML document, working with XML Schemas, DTDs, Relax NG schemas and NRL Schemas. The powerful transformation support allows you not only to edit XSLT and XSL-FO documents but also to obtain documents in the desired output format like HTML, PS, PDF, etc. with just one click."
  • Opinion of DSchneider: TECFA has a site license for this. Overally speaking a nice product that supports various functionalities, including support for several essential XML applications. Easier to learn than Xemacs, but the menus and commands are not obvious either.

EditX

  • EditX.
  • Quote from an email: "EditX is a cross-platform powerful and easy to use XML editor [...] and XML-related technologies such as XSLT / FO and XSD Schema. EditiX provides users with an extensive range of XML functionality within a refined IDE that guides you with intelligent entry helpers. EditiX has realtime XPath location and syntax error detection. Helpers are also provided with context syntax popup supporting DTD, Schema and RelaxNG. EditiX supports multiple templates and project management. User can apply XSLT or FO Transformation and show the result with a dedicated view. All the process can be managed by shortcuts. EditiX includes default templates with XML, DTD, XHTML, XSLT, XSD, XML RelaxNG, SVG, MathML and XML FO."
  • DSchneider's opinion: Not tested, but this gets good reviews.

epcEdit

  • SGML/XML editor for Win, Linux, Solaris.
  • Opinion of DSchneider: One of the best cheap XML editors I think. Not as many functionalities as oXygen, but much friendlier.

XMetal

Since version 2.0 it has become probably one the best overall pure XML editor for writing contents.

  • Various views (Wysiwyg, structure, tree)
  • In 2006, there are various products (from Euro 550 and up). E.g. a DITA extension.

XMLSpy

  • XML Spy Well known expensive commercial high-end multi-purpose XML editor. It also can be considered as a programmer's editor, a XML development environment.
  • Altova Authentic is a free end-user XML editor (registration with email required) that allows to edit contents in Altova proprietry file format. Only useful if you purchase a XML Spy product.
  • Opinion of DSchneider: not tested recently, but from what I have seen some years ago it ought to be a good buy.

XML Writer

  • XML Writer Commercial Product with trial period, DTD aware, works.
  • DTD/XML Schema Validation, XSLT support.
  • Tree (tag) view plus structure editing
  • Opinion of DSchneider: One of the only tools that is all of useful, cheap ($99) and beginner friendly I have seen so far.

Others

  • Topologi, Commercial but cheap ($99) Text/Structure Editor (seems to be a good tool for people afraid of programming editors)
  • Exchanger XML Editor, cheap ($130) commercial structure and tree editor,multiplatform (2003/V3.x 2005). A free lite version exists for non-commercial purposes.

Simple structure editors

MEX

  • Mex (Mini Editeur XML)
    • Multiplatform (Win/Mac/Unix) and Java-based
  • DSchneider's opinion: This is an extremly simple editor. It colorizes tags and validates against a DTD. But there is no support for editing. As such the tool is fairly useless, although much better than using a Notepad-like editing tool. The same team also developed Jaxe.

XED

  • XED was probably the first simple standalone XML structure editor. It still works fine. This "XML document instance editor" was written by Henry S. Thompson, University of Edinburgh.
  • FREE, available for Solaris and Win95/NT, Linux. A simple XML editor for wellformed documents.
  • DTD awareness (lists all tags). HINT: to get a hint from the DTD start typing a "<".
  • Win keybindings or Emacs keybindings (good for people who dont want to install Emacs)
  • Opinion of DSchneider. This is very first simple XML structure editor that I found useful (in 1998). Still works (type xed under Unix).

= XML Pad

  • Free validating and DTD-aware structure editor with a structure view, a tree view and a preview.
  • DSchneider's opinion: I tested XMLPad 2.2 and 3beta (00:54, 30 October 2006 (MET)). Both work (editing and validation). There also is a useful interface to the DTD (information on right click on element). There is no right-click menu (I resent this a lot) for inserting elements in the structure window. Editing nodes is done through an elements tree in a left window. No support for indentation of a single line (I hate that too). Moving around elements is awkward as with most cheap XML editors. Otherwise, I think that this tool is usable.

Exchanger XML Editor lite

  • Free lite version exists for non-commercial purposes of the Exchanger XML Editor.
  • Opinion of DSchneider: Editing works fairly well (Ctrl-T to insert an element and the spacebar (!) to insert an attribute for an element). There are many additional tools (all useless for beginners, but maybe of interest to advanced users). More powerful than XML Pad and maybe slightly better.

XML Notepad

  • XML Notepad is a free Microsoft tool for Windows
  • Needs the (huge) .Net 2.0 framework installed (nice thing to have for windows users).
  • Opinion of DSchneider: This application crashes on my PC at start-up without any useful error message. (up-to-date Win/XP, Swiss-Fr version, 00:54, 30 October 2006 (MET)). I do have .NET 2.0 installed.

Others

  • Cooktop Win, needs IE5.x.
    • Opinion of DSchneider: Not tested very much. Seems to be a fairly useless product since I did not manage to figure whether it is DTD-aware (helps the author to insert the appropriate tags. This product has not been updated since 2004 and installs an old version of MSXML 4.1 (In oct 2006 MSXL was 6.0). This might be dangerous to your system !
  • Butterfly
    • Opinion of DSchneider: Java breaks with a null-pointer exception on a legal ISO-8859-1 coded XML file (I really hate that!). Interface is difficult to understand (e.g. there is no right-click menu to insert elements or I don't understand how to make it read a DTD). Also looks like a dead project since it was put on Sourceforge in 2004 and the URL www.butterflyxml.org is dead too. In any case, impossible to use for a novice user since I can't do it after 30 minutes ....

Jaxe

  • Free XML Schema-aware XML editor
    • configurable with an XML schema and a file describing the menus to insert the elements (no right-click insertion)
    • adapted to structured narrative XML documents
    • validation at elements insertion
    • multi-platform (Java 1.3+)
  • Opinion of DSchneider: I tested this in 2003 and like the concept. It's a very user-friendly XML editor for text-centric contents, but needs configuration work (you have to define menus!). Not used in production at TECFA.

Emilé

  • Emile Good XML (DTD aware) emacs-like structure editor. Mac only ($80)
  • Opinion of DSchneider: My students who had Macs liked this product. Don't know if it is still alive.

Simple tree editors

Xerlin

  • Free Opensource multiplatform XML Java-based tree editor.
  • Code is based on "Merlot" which is no longer available
  • Opinion of DSchneider: Used at TECFA for data-centered XML editing by people who are afraid of Xemacs - 12/2002). Works nicely and is DTD-aware, but it's a tree editor (and I don't like them). The interface is not too difficult to learn. It prompts for a DTD when creating new files.

Validation is implicit (e.g. bad nodes are in red). Not very powerful, but it can do.

Xeena

  • A visual XML tree editor, Xeena is a generic Java application from the IBM Haifa Research Laboratory for editing valid XML documents derived from any valid DTD (no schema support anymore). Can be customized. (version 1.2 in aug 2004, after a long break)
  • Xeena is used as a basis for an X3D editor.

Others

  • xmloperator Free XML tree editor, Java-based, DTD or Relax aware (v. 2.3 sept 2003). Comment: Seems difficult to use, but at least it seems to work.
  • XMLFox, Free XML tree editor for Windows. Needs .NET 1.0 framework and Data Access Components (no need to install the latter on a recent Win XP). Opinion of 00:54, 30 October 2006 (MET): This installed fine, but it only supports XSD (no DTDs or Relax NG), therefore useless for me.
  • Peter's XML Editor for Windows (MSXML-based tree editor). Opinion of DSchneider 00:54, 30 October 2006 (MET): Not worth the trouble, since there I wasn't able to get XML editing support. (The editor did not find the DTD either when I tried to validate). Maybe it only works with XSD ? Otherwise, this tool has potential as easy structure/tree editor.
  • MindFusion XML Viewer. A really simple viewer/editor (you may modify contents of elements). Not worth the trouble for editing.


Programmer's editors with good XML support

Programmer's editors are more difficult to learn. However, you only need to learn one single tool for most of your needs .....

Emacs

There are several flavors of Emacs. The most popular ones are Gnu Emacs and Xemacs. X(Emacs) is a programming editor of choice since the 80's and its modern versions offer decent XML support.

  • PSGML mode supports DTD-aware structure editing plus some internal validation (external validatation can be added on Unix installations). PSGML is a powertul context sensitive tool. Documentation:

jEdit

  • jEdit is a popular and free programming editor. A very good alternative to (X)Emacs.
  • XML support is provided through several downloadable plugins (via a simple to use plugin manager).
    • XML plugin: validation against DTD or XSD and element trees in a dockable sidewindow
    • XSLT
    • CSS
    • XQuery
  • Make sure to install all XML-related plugins and side-kick
  • DSchneider's opinion: Compared to Xemacs I find jEdit awkward to use. Firstly, I didn't figure out how to indent XML code. Second, Error finding is a bit awkward. Only practical way I found is to save the file or menu plugins/side-kick/parse buffer. Note: the error window may hide behind the editing window. But at least the tool is working correctly with a correct DTD and it is easier for novice users.

HTML or programming editors with limited XML support

These tools are fairly useless XML editors, but if you already use them for HTML or other editing, you may profit from simple features like tag closing, indentation and such.

PSPad

  • PSPAD Freeware editor
  • General features: Templates and support for various programming languages, Macros, ....
  • XML extensions: tag closing and formatting (not tested)

HTML KIT

  • HTML-Kit
  • A popular HTML and Scripting languages editor. This tool doesn't have an XML editor (as far as DSchneider can tell) but offers a series of handy tools for some XML vocabularies (such as XML forms).

Links

Various

Lists of XML editors

References

  • Saqib Ali (2005), XML: WYSIWYG to WYSIWYM, A brief look at XML document authoring, Free Software Magazine, 3. HTML