Choosing an XML editor


Content written in 2004 by Thijs van den Broek.
Content edited by Ylva Berglund on 17th January 2005.
Made available under a Creative Commons Licence (http://creativecommons.org/licenses/by-sa/3.0/).

Contents:

  1. Introduction
  2. Types of editors
  3. Features of XML editors
  4. Tables with Editors and Features
  5. XML Editors
  6. Evaluation of editors
  7. Concluding remarks

1. Introduction

More and more people are working with texts and documents in XML format. With the increasing popularity of XML, the number of XML editors is also increasing and it can be difficult to choose the editor that best suits a particular user or task. The aim of this Information Paper is to provide an introduction to different features XML editors can have and the extent to which these features are implemented in various editors. It also presents the result of an evaluation exercise where different user groups tried a number of the editors.

The paper is based on a study by Thijs van den Broek Benchmarking XML editors, undertaken in 2004. The study consisted of a literature search, surveys to identify user needs, current usage, existing editors, and (existing and desired) features of editors, as well as an evaluation exercise. For further details about the study, contact AHDS Literature, Languages and Linguistics.

The paper first outlines the different types of XML editors that are available and their main characteristics (Section 2). Thirty different features of XML editors that were identified as useful by the benchmarking exercise (van den Broek 2004) are then outlined (Section 3), followed by tables showing how these are implemented within different editors (Section 4). Finally, the twenty editors evaluated in the benchmarking exercise are presented, highlighting the editors which were preferred by four different types of users (Section 5).


 2. Types of editors

There are four main types of XML editors:

Dedicated XML editors

Dedicated XML editors are software built solely for the purpose of encoding XML. The editor has functionality to make this process as easy as possible and does not usually offer functionality for other tasks. There are two types of dedicated XML editors.

Dedicated 'code view' XML editors

This type of editor offers the user a code view of the XML only. The users have to work in the XML code self.

Dedicated 'WYSIWYG' XML editors

This type of editor offers the user some sort of 'WYSIWYG' ('what you see is what you get') view of the XML. The user can work a view which is similar like the one in a word-processor or a view that presents the XML tags as small icons. A small proportion of editors offer both types of views.

Text editors

In addition to editors built for encoding XML, a number of text editors exist which have added functionality for XML encoding. These functions often include syntax highlighting, validation, and sometimes auto-completion of tags and attributes.

Word-processors

Word processors approach XML from a different angle. They provide the possibility of opening XML documents and working with them in a 'WYSIWYG' view that hides the XML code for the user. They can also be used to create a new document and save it as a valid XML file.


 

3. Features of XML editors

Introduction

This section first introduces a number of features of XML editors that were identified as useful by various user groups consulted in the Benchmarking XML editors exercise which forms the basis for this paper. The numbers in brackets refer to the list at the end of the section where each feature is listed with a brief description. The features are also found in the following section, where each editor is evaluated with regard to the implementation of the features.


Different users have different needs and preferences when it comes to working with XML. Some prefer to work in the code itself (feature nr. 24), while others prefer to work in a view that shows the tags but in a graphical way (25) or in a view which does not show the tags at all (26). Some editors allow the user to work in a page preview (27). When working in the code itself, it is useful if the editor offers syntax highlighting (30).

An important feature in an XML editor is the possibility to validate the document (1) against a set of rules like a DTD, W3C Schema or Relax NG Schema (14). Some editors offer on-the-fly validation (2) which means that the editor always signals whether the file is valid or not. For users that have to work with invalid files it is important that it is possible to open and save invalid files (13). It is also useful if the editor can handle internal entities (declared in the document) as well as external entities (declared in a schema or specific entity file) (20).

Other specific encoding features that may be found in an XML editor are: a menu for adding elements and attributes to the document that are allowed at the cursor position (3) or auto-completion of tags when users start typing the name of an element or attribute (4). Some editors allow the user to cut-and-paste or drag-and-drop bits of the document based on XML structure itself (5) or change elements into another element (7). Another function that might be useful is the ability to create an element by selecting a bit of text and choosing the preferred element (6). To search on the XML structure itself some editors have implemented structure-aware XPath find-and-replace functions (10).

More general text encoding functions can be important for some users. Editors can support regular expressions (9), have spell-checkers with open wordlists (11) or allow the input and display of special characters (12). Some editors support operations like search and replace or validation on multiple files (21).

When working with XML it can be useful to see a view of the document structure that can be collapsed and expanded (8) or a preview of the encoded document based on an XSLT style sheet (23). To display previews the editor may have a built-in XSLT (17) and/or XSL-FO (18) processor to create alternative versions of the document based on a stylesheet.

For the more advanced users of XML technology it is important that the editor aides the creation of schemas (16) or stylesheets like XSLT or XSL-FO (19). Advanced users may also want to be able to create templates for use by novice users (22).

A useful feature for novice users is the availability of templates for specific schemas (15). By creating a new document from these templates the user can get the basic structure for a complex document, for instance a TEI or DocBook document.

Two features that might be important for some users are the availability of version control where it is possible to keep track on changes in documents (29) and the possibility to work with large (over 5MB) documents (28).

 Features descriptions

The following list presents thirty different features that were identified as useful by XML encoders consulted for the Benchmarking XML editors exercise (van den Broek, 2004). The features were used for evaluating different editors (see Section 4).

1.  Validation of the XML file within the editor

The editor has an option to check whether the document is valid, i.e. whether you have used the right elements in the correct place.

2 . On-the-fly validation of XML documents

The editor continuously checks whether the right elements are being used. An indicator signals validity.

3 . Menu for adding allowed elements and attributes

The editor provides a menu of elements and attributes which are allowed at that particular point in the text. This helps users to add only valid elements.

4 . Auto-completion of elements, attributes and attribute values

The editor provides a list of possible elements, attributes, or attribute values when the user begins typing the XML tag.

5 . Operate on the XML structure

The editor allows moving, cutting and pasting of elements within the document based on the XML structure.

6 . Create elements by selecting text

The editor allows a piece of selected text to be wrapped in element tags by selecting the text and choosing the element from a list.

7 . Change elements

The editor allows the replacement of an element by another permissible element.

8 . View document structure

The editor has a pane which allows the viewing of the overall document structure. The structure is hierarchically displayed and can be collapsed or expanded.

9 . Text editing features

The editor allows regular expression operations on the text. These include match, search and replace.

10 . Structure-aware (XPath) search and replace

The editor allows the searching and replacement of certain patterns of elements (based on the XPath language). An example search could be: Replace all the <b> tags that are within an <a> tag by a <c> tag.

11 . Spell-checker with open wordlists

The editor allows you to check the spelling in the document. It is possible to edit the wordlists of the spell checker (to, for example, add new words) and to use different languages within one document.

12 . Multilingual text input and display (Unicode)

The editor can handle different writing systems based on the Unicode character set. The characters can be displayed within the editor and different writing systems can be used within one document.

13 . Switching validation on and off

It is possible to switch off the validation so that invalid files can be edited and saved without problems.

14 . Support for different schema languages

The editor supports XML documents based on different schema languages for describing the structure of the XML documents (e.g. DTD, W3C Schema, Relax NG, etc.).

15 . Support for specific schemas

The editor has built-in support for several XML standards for text encoding (e.g. DocBook, TEI, CALS, etc.).

16 . Create and edit schemas

The editor has support for creating and editing different schemas (e.g. DocBook, TEI, CALS, etc.).

17 . Built-in XSLT processor

The editor has a built-in XSLT processor to convert XML documents with XSLT stylesheets into other XML documents or XHTML.

18 . Built-in XSL-FO processor

The editor has a built-in XSL-FO processor to convert XML documents with XSL-FO stylesheets into PDF documents.

19 . Create and edit XSLT and XSL-FO stylesheets

The editor has support for creating and editing XSLT and XSL-FO stylesheets.

20 . Entity support

The editor offers support for internal and/or external entities.

21 . Operations on multiple files

The editor can operate on several XML documents as a batch. Operations include validating documents, converting documents with XSLT, and multi-file regular expressions. It is not necessary to convert one document at a time.

22 . Create templates for new documents

The editor allows the creation of templates for new documents.

23 . Preview the formatted text

The editor can show a preview of the final formatted text (for instance a webpage) by making use of stylesheets.

24 . Working in 'code view'

The editor has a 'code view' where the user can work in the XML code itself (including comments, processing instruction, elements, attributes, entities, and content).

25 . Working in 'tags on view'

The editor has a 'tags on view' where the user can work in the content of the XML document but also sees the tags that are being used surrounding the content.

26 . Working in 'normal view'

The editor has a 'normal view' where the user can work in the content of the XML document without seeing the tags that are used.

27 . Working in 'page preview'

The editor has a 'page preview' where the user can work in the actual formatted text. The user works in the view which is used to publish the text.

28 . Working with large (over 5MB) documents

The editor works quickly with large documents. It should open them quickly and also be able to do a quick regular expression-like search and replace operation.

29 . Version control

The editor has built-in functionality to manage different versions of a document.

30 . Syntax highlighting

The editor uses syntax highlighting when working in the 'code view' mode.


4 . Tables with Editors and Features

The following tables show the results of an evaluation of twenty different editors. Table 1 is based on an assessment of the implementation of the features listed above, taking into account ease of use of the feature. The result of an evaluation of usability is presented in Table 2 while Table 3 presents the availability of support for the different editors. All evaluations are subjective assessments where availability and usability of each feature in each editor has been taken into account. A score of Very good (++), Good (+), Marginal (-) and Poor/not available (--) is assigned, as illustrated below.

For instance: for feature 11 ('spell-checker with open wordlists') an editor would be rated 'Very good' (++) if it had extra options like "import new languages", "add your own words", etc. An editor which has these features but where some users find them difficult to use would be rated 'Good' (+). An editor that only has a standard list of words that could not be extended would receive the score Marginal (-) while an editor without a spell checker would be rated Poor/not available (--).

Table 1: Evaluation of implementation of features in XML editors (Sheet 1/5)

FEATURES

//

SOFTWARE

1. Validation of the XML file within the editor

2. On-the-fly validation of XML documents

3. Menu for adding allowed elements and attributes

4. Auto-completion of elements, attributes and attr. values

5. Operate on the XML structure

6. Create elements by selecting text

Authentic

++

- -

-

-

-

-

Cooktop

+

- -

- -

- -

- -

- -

Emacs

++

++

+

+

- -

- -

Epic Editor

+

- -

++

- -

++

- -

Exchanger XML

++

- -

+

+

-

++

jEdit

-

-

-

-

- -

- -

Microsoft Office

- -

- -

- -

- -

+

- -

Morphon

-

- -

+

- -

++

- -

NoteTab

- -

- -

- -

- -

- -

- -

Open Office

- -

- -

+

- -

++

+

Oxygen

+

- -

-

++

+

+

Serna 1.51

+

++

+

- -

+

- -

Serna 2.0b

+

++

++

- -

+

- -

TextPad

- -

- -

- -

- -

- -

- -

TurboXML

-

- -

-

- -

-

- -

UltraEdit

-

- -

- -

- -

- -

- -

VIM

-

- -

- -

- -

- -

- -

Xmetal

+

- -

+

- -

-

-

XML Mind

+

- -

+

- -

+

- -

XML Writer

+

- -

- -

+

- -

-

(cont.) Table 1: Evaluation of implementation of features in XML editors (Sheet 2/5)

FEATURES

//

SOFTWARE

7. Change elements

8. View document structure

9. Text editing features

10. Structure-aware (XPath) search and replace

11. Spell-checker with open wordlists

12. Multi-lingual text input and display (Unicode)

Authentic

+

+

-

Cooktop

– –

+

+

– –

- -

- -

Emacs

– –

– –

++

– –

+

+

Epic Editor

+

++

+

++

+

Exchanger XML

– –

+

++

- -

+

jEdit

– –

++

++

-

-

Microsoft Office

– –

– –

– –

++

-

Morphon

++

+

++

-

-

NoteTab

– –

– –

+

– –

+

- -

Open Office

+

– –

++

– –

+

++

Oxygen

– –

+

++

– –

-

+

Serna 1.51

+

++

Serna 2.0b

+

+

++

TextPad

– –

– –

++

– –

++

-

TurboXML

– –

+

– –

- -

- -

UltraEdit

– –

– –

++

– –

++

-

VIM

– –

– –

– –

-

-

Xmetal

+

+

+

+

-

XML Mind

+

+

++

– –

++

++

XML Writer

– –

+

+

– –

- -

-

(cont.) Table 1: Evaluation of implementation of features in XML editors (Sheet 3/5)

FEATURES

//

SOFTWARE

13. Switching validation on and off

14. Support for different schema languages

15. Support for specific schemas

16. Create and edit schemas

17. Built-in XSLT processor

18. Built-in XSL-FO processor

Authentic

+

+

++

– –

+

+

Cooktop

– –

+

– –

Emacs

+

++

+

Epic Editor

+

+

+

+

+

+

Exchanger XML

+

++

+

+

++

+

jEdit

+

– –

– –

– –

Microsoft Office

+

– –

– –

+

– –

Morphon

– –

– –

+

– –

NoteTab

– –

– –

– –

– –

– –

Open Office

– –

– –

+

+

Oxygen

+

++

++

++

+

+

Serna 1.51

– –

++

– –

Serna 2.0b

++

– –

+

+

TextPad

– –

– –

– –

– –

– –

TurboXML

– –

+

+

– –

UltraEdit

– –

– –

– –

– –

VIM

– –

– –

– –

– –

– –

Xmetal

– –

XML Mind

+

– –

+

+

XML Writer

– –

+

– –

(cont.) Table 1: Evaluation of implementation of features in XML editors (Sheet 4/5)

FEATURES

//

SOFTWARE

19. Create and edit XSLT and XSL-FO stylesheets

20. Entity support

21. Operations on multiple files

22. Create templates for new documents

23. Preview the formatted text

24. Working in ‘code view'

Authentic

– –

+

– –

+

+

– –

Cooktop

– –

– –

+

+

Emacs

+

+

+

+

+

+

Epic Editor

++

+

– –

++

+

+

Exchanger XML

+

+

++

++

jEdit

+

– –

+

Microsoft Office

+

– –

+

+

– –

Morphon

– –

+

NoteTab

– –

– –

– –

Open Office

– –

– –

++

– –

Oxygen

+

+

++

++

+

+

Serna 1.51

+

– –

– –

+

Serna 2.0b

++

– –

++

TextPad

– –

– –

– –

– –

TurboXML

– –

– –

– –

+

UltraEdit

– –

– –

– –

VIM

– –

– –

– –

– –

– –

Xmetal

– –

– –

+

– –

+

XML Mind

– –

+

– –

+

+

– –

XML Writer

+

+

(cont.) Table 1: Evaluation of implementation of features in XML editors (Sheet 5/5)

FEATURES

//

SOFTWARE

25. Working in ‘tags on view'

26. Working in ‘normal view'

27. Working in ‘page preview'

28. Working with large (over 5MB) documents

29. Version control

30. Syntax highlighting

Authentic

+

+

+

+

+

– –

Cooktop

– –

– –

– –

– –

– –

+

Emacs

– –

– –

– –

++

– –

++

Epic Editor

++

++

+

+

+

Exchanger XML

– –

– –

– –

– –

– –

+

jEdit

– –

– –

– –

– –

Microsoft Office

– –

+

– –

Morphon

+

+

– –

– –

+

NoteTab

– –

– –

– –

+

– –

Open Office

– –

++

– –

– –

– –

Oxygen

– –

– –

– –

– –

++

Serna 1.51

+

+

– –

– –

Serna 2.0b

+

+

– –

– –

TextPad

– –

– –

– –

+

– –

TurboXML

– –

– –

– –

– –

UltraEdit

– –

– –

– –

++

+

VIM

– –

– –

– –

+

– –

+

Xmetal

+

+

– –

+

+

XML Mind

– –

+

– –

– –

– –

XML Writer

– –

– –

– –

+

– –

+

 

+ + = Very good

+
= Good
- = Marginal
- - = Poor/not available

 

Table 2. Evaluation of usability of XML editors (Sheet 1/2)

USABILITY - NIELSEN HEURISTICS

//

SOFTWARE

1. Visibility of system status

2. Match between system and real world

3. User control and freedom

4. Consistency and standards

5. Error prevention

6. Recognition rather than recall

Authentic

+

+

+

+

-

+

Cooktop

+

+

+

+

+

-

Emacs

+

-

+

-

+

-

Epic Editor

+

+

+

+

+

+

Exchanger XML

+

+

+

+

+

+

jEdit

-

-

+

+

+

+

Microsoft Office

++

++

++

++

-

++

Morphon

-

+

+

+

-

+

NoteTab

+

+

+

+

+

+

Open Office

+

++

++

++

+

++

Oxygen

+

+

+

-

+

+

Serna 1.51

+

+

+

+

-

+

Serna 2.0b

+

+

+

+

+

+

TextPad

+

+

+

+

+

+

TurboXML

-

+

-

-

- -

-

UltraEdit

+

-

+

+

+

+

VIM

-

-

+

-

+

-

Xmetal

-

+

+

+

+

+

XML Mind

+

+

+

-

-

+

XML Writer

+

+

+

+

+

+

(cont.) Table 2. Evaluation of usability of XML editors (Sheet 2/2)

OTHER USABILITY CRITERIA

//

SOFTWARE

7. Flexibility and efficiency of use

8. Aesthetic and minimalist design

9. Help users recognize, diagnose, and recover from errors

10. Help and documentation

11. Editor reliability

12. Editor recoverability

13. Resource utilisation

Authentic

++

+

+

- -

+

Cooktop

+

+

-

- -

+

Emacs

++

++

+

+

Epic Editor

+

+

+

+

+

+

Exchanger XML

+

+

+

+

- -

- -

jEdit

+

+

+

+

-

Microsoft Office

+

++

+

+

+

+

Morphon

+

+

+

-

+

+

NoteTab

+

+

+

+

- -

+

Open Office

++

++

+

+

++

++

+

Oxygen

+

+

+

+

+

++

-

Serna 1.51

+

+

+

- -

-

Serna 2.0b

+

+

+

+

+

TextPad

+

+

+

+

+

- -

+

TurboXML

– –

+

-

- -

- -

UltraEdit

+

+

+

+

+

+

VIM

++

+

+

+

++

++

Xmetal

+

+

+

- -

+

XML Mind

+

+

+

-

-

XML Writer

++

+

+

+

-

+


+ + = Very good

+
= Good
- = Marginal
- - = Poor/not available

 

Table 3: Evaluation of support for XML editors

FEATURES

//

SOFTWARE

Customise the editor for other users

Customise the editor with restriction for the user

Centralised customisation

Different Operating Systems

Open Source

Easy to install

Authentic

++

- -

- -

- -

- -

+

Cooktop

- -

- -

- -

- -

- -

-

Emacs

++

- -

- -

++

++

+

Epic Editor

- -

-

++

+

- -

+

Exchanger XML

-

- -

- -

++

- -

-

jEdit

+

- -

- -

++

++

-

Microsoft Office

+

+

-

- -

- -

+

Morphon

+

- -

- -

++

- -

+

NoteTab

- -

- -

- -

- -

- -

+

Open Office

++

+

- -

++

+

+

Oxygen

- -

- -

- -

++

- -

+

Serna 1.51

-

- -

- -

++

- -

+

Serna 2.0b

+

- -

- -

++

- -

+

TextPad

-

- -

- -

- -

- -

+

TurboXML

- -

- -

- -

++

- -

-

UltraEdit

+

- -

+

- -

- -

+

VIM

++

- -

+

++

++

+

Xmetal

++

++

- -

- -

- -

+

XML Mind

-

+

- -

+

- -

+

XML Writer

-

- -

- -

- -

- -

+


+ + = Very good

+
= Good
- = Marginal
- - = Poor/not available

5. XML Editors

This section provides a brief description of the evaluated editors with information about price (spring 2004), supported schema languages, supported operating systems, etc. Among the evaluated editors, some were selected for more extensive user testing/evaluation based on their scores in the primary evaluation combined with a user needs analysis (van den Broek, 2004). These editors have been described further in the list below.

Authentic

Developer: Altova
Editor: Authentic
Version: 2004
Open Source: No
Operating Systems: Windows
Schema Languages: W3C Schema / DTD
Cost: Free (without style sheet creator)
Website: http://www.altova.com/authentic

Authentic is a free document editor from the makers of the very popular data editor XMLSpy. It is a WYSIWYG editor only and therefore it is not possible to work in the code itself. A great advantage of the editor is the templates of different document types which will let you create documents based on a number of schemas: Dita, NewsML, DocBook, and several TEI schemas including TEI lite.

Documents created with these templates already have some basic content and provide some textual buttons to add other content. However, to add other tags to the document the user needs a fair amount of knowledge of the DTD/W3C Schema since elements have to be added from a pane with all the available tags. A further problem is that it is hard to determine the exact spot where the tag has to be added since there is no tree view of the document. It is not possible to create and edit your templates within Authentic but this can be done through another program, StyleVision , which has to be purchased from the Altova company

Cooktop

Developer: Victor Pavlov
Editor: Cooktop
Version: 2.5
Open Source: No
Operating Systems: Windows
Schema Languages: W3C Schema / DTD
Cost: Free
Website: http://www.xmlcooktop.com/

 

Emacs

Developer: GNU Emacs, Sebastian Rahtz, Christian Wittern
Editor: Emacs
Version: TEI
Open Source: Yes
Operating Systems: All
Schema Languages: W3C Schema / DTD / Relax NG
Cost: Free
Website: http://www.tei-c.org/Software/tei-emacs/

Emacs differs from other editors in the evaluation since it has an interface with which most users will be unfamiliar. Where most of the evaluated editors have interfaces derived from Windows or Macintosh programs, Emacs has a GNU interface. This means that it uses different keyboard shortcuts and some features have to operated from a command line instead of with buttons. Therefore, the learning curve can be quite steep for new users. Emacs is a programmable text editor and only provides a code view which means that XML files are edited within the code instead of a WYSIWYG layer. The editor has some nice features like auto-completion of tags (albeit with a keyboard shortcut), on-the-fly schema validation and a useful search function that highlights every word that matches the search query. The functionality of this opensource editor can be extended with numerous Elisp plug-ins.

Sebastian Rahtz has modified an implementation of Emacs which allows users to create TEI documents from scratch. TEI-Emacs comes bundled with all the necessary programs and stylesheets so that, among many other things, the TEI XML documents can be converted into HTML and PDF documents.

Epic Editor

Developer: Arbortext
Editor: Epic Editor
Version: 5
Open Source: No
Operating Systems: Windows / Sun Solaris
Schema Languages: W3C Schema / DTD
Cost: $695,-
Website: http://www.arbortext.com/products/epic_editor.htm

Epic Editor is the most expensive editor on the list. It has both a code view and a WYSIWYG view and also allows users to work in a view that shows the tag names as small icons. Therefore the structure of the document remains clear even when users are not working in the code view. It also provides a tree view of the document.

Advantages of the software are that it provides conversion into HTML and PDF documents and that it is possible to work in the code of the file. It can be installed as a client-server architecture which may be one explanation to the high price.

Exchanger XML

Developer: Cladonia
Editor: Exchanger XML
Version: 2
Open Source: No
Operating Systems: All
Schema Languages: W3C Schema / DTD / Relax NG
Cost: $98,-
Website: http://www.exchangerxml.com/

Exchanger XML is a code view editor which is very easy to use. The auto-completion of tags is very useful since it automatically pops up a list of possible tags on that position when editing a document. This list gets shorter when you type more of the tag. When a tag is chosen it automatically adds a closing tag.

The editor provides a useful menu for converting files into HTML or PDF and also provides templates for popular documents like DocBook. Unfortunately there is no template for TEI documents. Other advantages include the menu for adding symbols and the XPath query option. With this option it is possible to perform structure-aware searches on the document.

The biggest disadvantage of the editor is that it is a Java-based program. This means that it can be used on most of the platforms but at a performance cost.

jEdit

Developer: jEdit SourceForge project
Editor: jEtit
Version: 4.1
Open Source: Yes
Operating Systems: Windows / Mac / Linux
Schema Languages: DTD
Cost: Free
Website: http://www.jedit.org/

 

Microsoft Office

Developer: Microsoft
Editor: Microsoft Office
Version: 2003
Open Source: No
Operating Systems: Windows
Schema Languages: W3C Schema / DTD / XDR
Cost: $199,95
Website: http://office.microsoft.com/

 

Morphon

Developer: Morphon Technologies
Editor: Morphon
Version: 3.1.4
Open Source: No
Operating Systems: All
Schema Languages: W3C Schema / DTD
Cost: Free
Website: http://www.morphon.com/

 

NoteTab

Developer: Fookes Software
Editor: NoteTab
Version: 4.95
Open Source: No
Operating Systems: Windows
Schema Languages: None
Cost: $19,95
Website: http://www.notetab.com/

 

Open Office

Developer: OpenOffice.org, Sebastian Rahtz
Editor: OpenOffice
Version: 1.1.2
Open Source: Yes
Operating Systems: All
Schema Languages: DTD
Cost: Free
Website: http://www.openoffice.org/

Open Office is in fact a suite of office tools, where the word processor stores the documents in XML. It is, thus, possible to create documents with simple document structures (different headers, paragraphs, bulleted lists, emphasis, etc.) based on your own schema . Sebastian Rahtz has created a plug-in for the creation of TEI documents in Open Office . This allows users to work in what appears to be a normal word processor document while, in the background, the document is stored as valid, if very basic, TEI. This editor can only be used for simple document structures and it is not possible to work in the code itself. If this is all the user needs then this editor is by far the most user-friendly.

Oxygen

Developer: SyncRO Soft
Editor: Oxygen
Version: 4.1
Open Source: No
Operating Systems: All
Schema Languages: W3C Schema / DTD /Relax NG
Cost: $96,-
Website: http://www.oxygenxml.com/

Oxygen is quite similar to Exchanger XML . The interface looks better because of the use of icons for a lot of features but the editing of documents is more or less the same. An advantage over Exchanger is that Oxygen provides more templates (including TEI) and that the tree view is visible when editing a document. It also has a spell checker. The menu for conversion into HTML or PDF is easy to use and the only disadvantage compared to Exchanger is that it has no menu to add symbols to the document.

As with Echanger XML the main disadvantage is the fact that Oxygen is a Java-based program and therefore can be quite slow.

Syntext Serna 1.5

Developer: Syntext
Editor: Syntext Serna
Version: 1.51
Open Source: No
Operating Systems: All
Schema Languages: W3C Schema / DTD
Cost: $269,- / $45,- Academic version
Website: http://www.syntext.com/

Syntext Serna 2.0

Developer: Syntext
Editor: Syntext Serna
Version: 2.0b
Open Source: No
Operating Systems: All
Schema Languages: W3C Schema / DTD
Cost: $299,- / $45,- Academic version
Website: http://www.syntext.com/

Syntext Serna claims to be a true WYSIWYG editor but differs significantly from other WYSIWIG editors, such as XMetal. It is possible to switch to a code view of the editor but this means that the complete interface of the editor changes which is quite confusing. Tags are added to the document with buttons inside the document. Elements are added from a context sensitive list. There are no buttons for adding common items like paragraphs or bulleted lists.

The users that evaluated this editor listed it as the least user-friendly editor, primarily because the editing process is different from many other programs which can make it difficult to master.

TextPad

Developer: Helios Software Solutions
Editor: TextPad
Version: 4.7.2
Open Source: No
Operating Systems: Windows
Schema Languages: None
Cost: $29,-
Website: http://www.textpad.com/

 

TurboXML

Developer: TIBCO Software
Editor: TurboXML
Version: 2.4.1
Open Source: No
Operating Systems: All
Schema Languages: W3C Schema / DTD
Cost: $269,-
Website: http://www.tibco.com/

 

UltraEdit

Developer: IDM Computer Solutions
Editor: UltraEdit
Version: 10.2
Open Source: No
Operating Systems: Windows
Schema Languages: None
Cost: $35,-
Website: https://www.ultraedit.com/

 

VIM

Developer: VIM SourceForge project
Editor: VIM
Version: 6.3
Open Source: Yes
Operating Systems: All
Schema Languages: None
Cost: Free
Website: http://www.vim.org/

 

XMetal

Developer: Blast Radius
Editor: XMetal
Version: 4.5
Open Source: No
Operating Systems: Windows
Schema Languages: W3c Schema / DTD
Cost: $495,-
Website: http://www.xmetal.com/

XMetal is the only editor in the study which acts in the way that most users expected. It has a WYSIWYG view and a code view which are both very easy to work in. The WYSIWYG view offers the user a look and feel that is close near that of a normal word processor. It has buttons to add new paragraphs or bulleted lists and edits in a manner familiar to users of most word processors, for instance, MS Word . The editor has a menu for converting documents into HTML and PDF and it is possible to see a tree view of the document.

The main disadvantage of XMetal is that the only templates available are ones created for XMetal . There are no templates for DocBook or TEI. It is, however, fairly easy to create new templates. XMetal can create an implementation based on, for example, a DTD. A further disadvantage of this editor is its price. XMetal is the second most expensive product evaluated.

XML Mind

Developer: Pixware
Editor: XML Mind
Version: 2.6
Open Source: No
Operating Systems: Windows / Mac / Linux
Schema Languages: W3C Schema / DTD
Cost: $220,-
Website: http://www.xmlmind.com/

 

XML Writer

Developer: Wattle Software
Editor: XML Writer
Version: 2.4
Open Source: No
Operating Systems: Windows
Schema Languages: W3C Schema / DTD / XML Reduced
Cost: $99,-
Website: http://www.xmlwriter.net/

 

6. Evaluation of editors

The listed editors were evaluated with regard to the range of features implemented (see table) and also against criteria of usability and support. This was then compared to a list of requirements for four kinds of users. Three or four editors per group were selected and then evaluated by users from that group. Presentation of the user groups and the result of their evaluation can be found below.

Advanced users in XML technology

This group consists of users that use the whole spectrum of XML technology. They write XML documents, stylesheets to publish their XML in formats like HTML or PDF, and schemas for new types of XML documents. This group are advanced users of XML and therefore prefer to work in the XML code itself.

The editors that were selected for and evaluated by this group were :

After performing a set of tasks with these editors the users picked Oxygen as the most suitable for their group. Emacs was also quite popular but users could be biased since they already used this editor most frequently and therefore had been through the steep learning curve of working with this type of editor.

Advanced users in XML encoding

This group prefers to work in the XML itself because of the extensive and complex encoding their work requires. They do not need functionality to create stylesheets and schemas.

The editors that were selected for evaluation by this group were the following:

The users picked Exchanger XML as the most suitable for their group, closely followed by Oxygen .

Intermediate users in XML encoding

This group is familiar with the XML code but rather work in a WYSIWYG view which allows them to encode the document without looking at the XML code. However, sometimes they have to edit invalid documents or encode more complex structures that forces them to work in the XML code.

The users tried the following editors:

The Intermediate users picked XMetal as the most suitable for their group. This was however closely followed by Oxygen (which is a code-view-only editor) and Epic Editor. The users found Syntext Serna very difficult and confusing to use.

WYSIWYG users

WYSIWYG users are defined as users who need to write short documents, minutes, or reports in XML. Since they are used to working with word-processors, they prefer an editor that has close resemblance with word-processor.

The editors that were selected for this group were:

After performing a set of tasks with these editors the WYSIWYG users picked XMetal as the most suitable for their group. This was followed by OpenOffice , and the others were not very popular.


7. Concluding remarks

Which editor you choose to use depends on a number of factors. Hopefully the overview of common features of XML editors and the presentations of the editors provided in this Information Paper should make the process of choosing easier. The user evaluation has identified the editors that were preferred by the sample of selected groups of users, and this may be a useful starting point for choosing an editor.