XML editor: Difference between revisions

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


For data-centric XML
For data-centric XML
# allow viewing and editing of XML documents in a tree view
# Allow viewing and editing of XML documents in a tree view
# Automatically insert/complete XML Tags
# Provide a context-dependent choice of XML tags and attributes (DTD/XSD awareness)


For text-centric XML
For text-centric XML
# allow viewing editing of XML documents in a structure view
# Allow viewing editing of XML documents in a structure view
# allow viewing editing of XML documents in somewhat WYSIWYG view
# Allow viewing editing of XML documents in somewhat WYSIWYG view
# Automatically insert/complete XML Tags
# Provide a context-dependent choice of XML tags and attributes (DTD/XSD awareness)
# Automatically complete XML Tags when working without a DTD
# Indent properly
# Indent properly


Line 42: Line 43:
#* To edit vector graphics, e.g. SVG, X3D, MathML you may consider an appropriate drawing tool.
#* To edit vector graphics, e.g. SVG, X3D, MathML you may consider an appropriate drawing tool.
# Your technical skills
# Your technical skills
; Recommendations for a free XML editor.
* [[User:DSchneider|DSchneider]] spent a whole day (19:58, 29 October 2006 (MET)) on finding a suitable free XML editor suitable to beginners. None was found.
** A lot of so-called XML editors are not even DTD-ware.
** Some software crashed on start (e.g. the MS XML Notepad)


== Wysiwyg and XML-aware Text Editors ==
== Wysiwyg and XML-aware Text Editors ==
Line 202: Line 209:
* Needs the (huge) .Net 2.0 framework installed (nice thing to have for windows users).
* Needs the (huge) .Net 2.0 framework installed (nice thing to have for windows users).


* Opinion of [[User:DSchneider|DSchneider]]: This application crashes on my PC at start-up without any useful error message. (up-to-date Win/XP, Swiss-Fr version, 19:19, 29 October 2006 (MET)). I do have .NET 2.0 installed.
* Opinion of [[User:DSchneider|DSchneider]]: This application crashes on my PC at start-up without any useful error message. (up-to-date Win/XP, Swiss-Fr version, 19:58, 29 October 2006 (MET)). I do have .NET 2.0 installed.


=== Others ===
=== Others ===
Line 253: Line 260:
* [http://xmlfox.com/download.htm XMLFox], Free XML tree editor for Windows. Needs .NET 1.0 framework and Data Access Components. ([[User:DSchneider|DSchneider]] did not test what this does to a news .NET installation).
* [http://xmlfox.com/download.htm XMLFox], Free XML tree editor for Windows. Needs .NET 1.0 framework and Data Access Components. ([[User:DSchneider|DSchneider]] did not test what this does to a news .NET installation).


* [http://www.iol.ie/~pxe/ Peter's XML Editor] for Windows (MSXML-based tree editor). Opinion of [[User:DSchneider|DSchneider]] 19:19, 29 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.
* [http://www.iol.ie/~pxe/ Peter's XML Editor] for Windows (MSXML-based tree editor). Opinion of [[User:DSchneider|DSchneider]] 19:58, 29 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.


* [http://www.mindfusion.org/product1.html MindFusion XML Viewer]. A really simple viewer/editor (you may modify contents of elements). Not worth the trouble for editing.
* [http://www.mindfusion.org/product1.html MindFusion XML Viewer]. A really simple viewer/editor (you may modify contents of elements). Not worth the trouble for editing.
Line 301: Line 308:
* [http://xml.silmaril.ie/developers/software/ What XML software is available ?] (XML FAQ section).
* [http://xml.silmaril.ie/developers/software/ What XML software is available ?] (XML FAQ section).
* [http://ahds.ac.uk/creating/information-papers/xml-editors/ Choosing an XML editor] by Thijs van den Broek. A detailed evaluation of various editors (in 2004).
* [http://ahds.ac.uk/creating/information-papers/xml-editors/ Choosing an XML editor] by Thijs van den Broek. A detailed evaluation of various editors (in 2004).
* Saqib Ali (2005), XML: WYSIWYG to WYSIWYM, A brief look at XML document authoring, ''Free Software Magazine'', 3. [http://www.freesoftwaremagazine.com/articles/practical_applications_xml/ HTML]


[[Category: Technologies]]
[[Category: Technologies]]
[[Category: XML]]
[[Category: XML]]

Revision as of 20:58, 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. 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 (19:58, 29 October 2006 (MET)) on finding a suitable free XML editor suitable to beginners. None was found.
    • A lot of so-called XML editors are not even DTD-ware.
    • Some software crashed on start (e.g. the MS XML Notepad)

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
  • Treeview of tags (linked to text view).
  • XSLT support

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

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. 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."
  • 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) - Not tested.

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 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, 19:58, 29 October 2006 (MET)). I do have .NET 2.0 installed.

Others

  • 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 !

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). In addition, fonts used for editing tabs around elements are barely readable in Windows.

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)
  • XMLFox, Free XML tree editor for Windows. Needs .NET 1.0 framework and Data Access Components. (DSchneider did not test what this does to a news .NET installation).
  • Peter's XML Editor for Windows (MSXML-based tree editor). Opinion of DSchneider 19:58, 29 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:
    • XML plugin: validation against DTD or XSD and element trees in a dockable sidewindow
    • XSLT
    • CSS
    • XQuery

PSPad

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

Links