Choosing an XML editor
Contents:
- Introduction
- Types of editors
- Features of XML editors
- Tables with Editors and Features
- XML Editors
- Evaluation of editors
- 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).
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).
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.
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.
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.
The editor has built-in functionality to manage different versions of a document.
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 |
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
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:
- Epic Editor
- Oxygen
- Serna 2.0
- XMetal
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:
- Authentic
- Serna 2.0
- XMetal
- Open Office
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.
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.