Editors

From TEIWiki
Revision as of 09:44, 25 April 2014 by Taeke Kuyvenhoven (talk | contribs) (Table of Editors)
Jump to navigation Jump to search

Periodically the question of which editor to use for TEI tasks arises on the TEI mailing list. There is no single answer to this question, but this page attempts to help you frame the question correctly.

Before thinking about an editor, you should think about who is going to be using it, how often, for what and where.

Those from a technical background are already likely to have a preferred programmable editor. Those from a non-technical background are likely to be more interested in ease of use. Occasional or temporary users are going to what a program that works as similarly as possible to the other applications they use, whereas full-time permanent users are more likely to get a benefit from more powerful editor, even if it has a learning curve. Projects which use large XML files need to be aware that some editors struggle with large XML files. The sed editor (see below) is a special case, allowing for truly arbitrary sizes. Users who need to edit files directly on remote servers may need vt100-capable editors (emacs, vi, sed, etc).

The following table is sorted by four keys:

  1. Decreasing Beginner-friendliness
  2. Explicit support for TEI or not
  3. Explicit support for XML or not
  4. No information available

Table of Editors

Editors for TEI, sorted by Beginner-friendliness
Name Operating Systems or Environments FLOSS? Explicit support for XML Explicit support for TEI URL Projects Using Beginner-friendliness
(scale 1-10, 1=hard)
RTL support Notes
FontoXML Web-based No Yes Yes [1] 9 2015 Super intuitive web-based XML authoring, including TEI. FontoXML integrates seamlessly into most web content management systems or workflow software.
Office suite + OxGarage All ? Yes Yes [2] 9 Users edit using standard office suite and documents converted to TEI via webservice
Notepad++ Win Yes Yes No [3] TCP 9 Freeware. XML support via XMLTools plugin. Basic editor made more versatile by plugin system (eg. Base64 encode-decode, hex editor, etc)
UltraEdit Win, Linux No Yes No [4] 9 customizable for TEI-support; can handle extremely large files; powerful regex/multi-file replace; macro recording
Emeditor Win No No No [5] TCP 9 PRO: large-file support, utf-8 support, diff.
TextPad (4.73) Win No No No [6] TCP 9 PRO: simple interface, powerful regex/multi-file replace, search-in-files, primary and secondary sort, uniq, diff, hotlinked search results, syntax coloring. CON: no utf-8 support.
oXygen all (Java) No Yes Yes [7] WWP DHQ 8 in Editor, possibly in Author Can validate using DTD, W3C schema, RELAX NG, and Schematron; can run XSL transformations on file; WYSIWYG mode using CSS; support for TEI ODD files (editing and schema generation)
Essential XML Editor (formerly Open XML Editor) Win Yes Yes No [8] 8 Text-based editing, DTD validation, various input encodings but output only in UTF-8, plugin of Saxon XSLT processor and hex editor possible; plugin of Jing, Libxml2 and MSV (W3C-schema, RelaxNG validation) possible only in purchased version
XMLMax Win No Yes No [9] 8 Unlimited XML file size support with low memory requirement. XML parsing with error reporting and fixing. Collapsable treeview, DTD and XML schema validation. XPATH and XSLT.
EditPad Pro Win No No No [10] TCP 8 PRO: UTF-8 support, excellent character-encoding conversions, syntax coloring, regex search/replace, XML 'content folding', handles large files well. CON: no search-in-files, sort, uniq, or diff.
jEdit all (Java) Yes Yes Yes [11] NZETC 7 XML use requires plugins, and only supports DTDs
XMLcopyEditor Win, Ubuntu Yes Yes Yes [12] TCP 7 Free; validates to DTD, XSD, Relax.ng
epcEdit Win, Linux, Solaris No Yes No [13] TCP 7 Free; also supports SGML; feels a bit like XMetaL
Emacs Mac, Win, Linux, Solaris Yes Yes No [14] NZETC WWP 3 (See also TEIEmacs) Best mode for TEI XML is nXML, using RELAX NG compact schemas. For Mac look for Aquamacs package
ANGLES Web-based Yes In-progress ? [15] 2 ANGLES is in active development. Therefore, its location in this table is a bit of a judgment call, subject to change. In development since Fall 2012. Based on the Ace editor.
Ace Web-based Yes Yes, but primitive and buggy No [16] ANGLES 2
CodeMirror Web-based Yes Yes, but primitive and buggy No [17] XET 2 Cannot support namespaces without an architectural change due to the absence of lookahead for modes.
vi Mac, Win, Linux, Solaris Yes No No [18] 1 Ships on all POSIX systems (linux, solaris, BSD, etc) as standard, thus the lowest common denominator editor for server configuration
sed Mac, Win, Linux, Solaris Yes No No [19] -1 Handles with ease files a order of magnitude larger than the system RAM
Serna Free Yes Yes Yes [20] yes Wikipedia reports that the free version of Serna is no longer "distributed." This probably means that the parent company no longer expends any resources on it. The source code of the free version is still available under a GPL license, hosted on Sourceforge.
Serna No Yes Yes [21] yes
Editix Win, Linux, MacOS No Yes No [22] A free Lite version exists.
Geany all Yes Yes No [23] Geany is a cross-platform IDE suitable for XML and HTML, C, Java, PHP, HTML, Python, Perl and Pascal.
Liquid XML Editor Win No Yes No [24] Features of the XML Editor include Validation, XML Syntax Highlighting and Multi-step undo/redo.
XMLmind all (Java) No Yes No [25] no A free version exists.
XPontus all (Java) Yes Yes No [26] XPontus XML Editor is a simple XML Editor oriented towards text editing. It can perform validation(DTD, XML Schema, Relax NG, Batch XML validation), XSL transformations(HTML, XML, PDF, SVG), schema/DTD generation, XML/DTD/HTML/XSL code completion, code formatting and much more. Plugin based.
XMLSpy all (Java) No Yes No [27] yes
EditTEI all (Java) No No No [28] Simple interface, UTF-8, powerful search and replace text and tags, syntax coloring, character-encoding conversions, Word documents importation, tags indexation and displaying, source document displaying, interactive tags management (adding, removing, edit attributes, etc.), document statistics, spell check with your dictionary, documents normalizing, untilding, dissimilation and much more ...
TextMate MacOS No No [29] An extension is needed for XML editing
Exchanger XML Editor all (Java) [30]
Sacodeyl Annotator all (Java) [31]
XmlBlueprint Win [32]
XmlWriter Win [33]

Humour

Tension between emacs and vi users is longstanding and well summarised on the Editor war Wikipedia page. vi was included in the POSIX standard, whereas emacs was not, perhaps because vi was historically available in multiple implementations from multiple vendors. The following cartoon illustrates the commonly-held assumptions that emacs and vi are very powerful but obscure while their competitors make users do all the work.

Copyright (c) 2007 Laurent Gregoire http://tnerual.eriogerg.free.fr/0xBABAF000L/10_en.html