Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

...

I tested each editor using the schema below, reading in the example XML document and trying to change it in invalid ways. I restricted myself to editors that are free for non-commercial use, which work under Linux and MacOS X and which don't require the installation of a log of new libraries.

XAmple

  • Home page: http://www.felixgolubov.com/XMLEditorImage Removed
  • Needs only Java 1.5 or 1.6
  • Uses XML-handling Swing widgets designed by Golubov.
    • No source code for the widgets, only a JAR file xmleditor.jar.
    • Swing itself is part of the Java standard library.
  • The editor UI built around the widgets is called XAmple.
    • We do get source code for XAmple.
  • Too-small font problem common to many Swing apps. Probably fixable.
  • Allows saving of malformed documents without asking for confirmation.
  • Understands xsi::noNamespaceSchemaLocation.
  • Generates an editing form from the schema.
  • Fast. Validation results appear without noticeable delay.

Rinzo

  • Home page: http://editorxml.sourceforge.net/Image Removed
  • It's a plugin for Eclipse 3.3 or later.
  • SourceForge open source project.
  • No editing form. Documents are represented by syntax-colored text
    in one pane together with a structure tree in another.
  • Doesn't understand xsi:: noNamespaceSchemaLocation.
    • I had to use xsi::schemaLocation and give a bogus namespace URI
      along with the name of the schema file.
  • Slow. Noticeable delay between typing and the results of validation.
  • XML files must be part of an Eclipse project.
    • If not then saves produce error pop-ups about invalid thread
      states.
  • Allows saving of malformed documents without asking for confirmation.
  • When inserting new elements it offers a menu of possibilities that
    often includes invalid choices, allowing me to insert elements in the
    wrong order. After insertion however the editor catches the error.

XMLmind XML Editor Personal Edition

  • Home page: http://www.xmlmind.com/xmleditorImage Removed
  • Freeware Java 1.6, no source code.
    • $330 Professional Edition comes with full source.
  • Schema glitch: It didn't accept the use of maxExclusive to restrict
    the range of xs:unsignedInt.
    • It claimed that maxExclusive and maxInclusive were both being used.
    • I'll bet maxInclusive was used when deriving xs:unsignedInt
      from xs:integer.
    • The two conditions should conflict only when used in the same
      restriction element.
    • Fixed the problem by using xs:integer as the base and adding
      minInclusive="0".
  • Doesn't validate as you type. Validates upon load, save and upon
    request.
  • Fast.
  • Offers the correct choices when inserting new elements.
  • Understands xsi:noNamespaceSchemaLocation.

...