XML editor: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
Line 246: Line 246:


* [http://www.lysator.liu.se/~lenst/about_psgml/ 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:
* [http://www.lysator.liu.se/~lenst/about_psgml/ 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:
** Also, Bob DuCharme has a good [http://www.snee.com/bob/sgmlfree/emcspsgm.html page with PSGML tricks].  
** [http://www-128.ibm.com/developerworks/xml/library/x-emacs/ Using Emacs for XML documents], IBM developer works article by Brian Gillian (Note: Xemacs users can skip the installation notice).
** Bob DuCharme has a good [http://www.snee.com/bob/sgmlfree/emcspsgm.html page with PSGML tricks].  


* XEmacs support: A patched [http://www.lysator.liu.se/~lenst/about_psgml/ PSGML] mode with XML support is included in [http://www.xemacs.org/ Xemacs] 21.0 (used @ TECFa and by myself, works great on Unix and Win95/98/NT)
* XEmacs support: A patched [http://www.lysator.liu.se/~lenst/about_psgml/ PSGML] mode with XML support is included in [http://www.xemacs.org/ Xemacs] 21.0 (used @ TECFa and by myself, works great on Unix and Win95/98/NT)

Revision as of 17:34, 29 October 2006

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. Automatically insert/complete XML Tags

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. Automatically insert/complete XML Tags
  4. 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

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.

It works, but

  • novice users must be trained to use the interface.
  • Fonts used in the Interface are very hard to read.

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, but you need a good computer for Eclipse and it takes space (download with Eclipse runtime is about 25 MB).

Others

  • XMLmind XXE XML Editor, free standard edition. (V2.1 jan/2003, not yet tested, CSS-based word processor like view.)
  • Cooktop Win, needs IE5.x, FREE (looks ok, but not tested here / jan 2003)
  • Serna. Commercia 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. Easier to learn than Xemacs, but the menus 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."
  • Not tested !

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.

Today (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.
  • See also Altova, an end-user XML editor which is free (not tested yet / DKS-2/2003)
  • 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) - Not tested.

Simple structure editors

MEX

  • Mex (Mini Editeur XML)
    • Multiplatform (Win/Mac/Unix) and Java-based

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).

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, but it's a tree editor (and I don't like them).

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)

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:
    • XML plugin: validation against DTD or XSD and element trees in a dockable sidewindow
    • XSLT
    • CSS
    • XQuery