Validating Editors
Validating editors (sometimes also called schema-aware, DTD-aware, or context sensitive editors) are applications that interactively validate documents against a certain schema or DTD as you edit them. Because they understand the schema or DTD rules, they can make editing documents much easier. For example, if you want to insert a new element at a certain point in a DocBook document, a validating editor shows you a list of only those elements that the DocBook schema says are valid at that point in the document (instead of showing you a list of all 375+ elements in DocBook).
Editor |
Platforms |
Free? |
XML |
SGML |
Off-the-shelf DocBook support? |
Actively developed |
All |
Yes |
XML |
RELAX NG schema (compact syntax) |
Yes |
||
All (Java) |
No |
XML |
RELAX NG schema, DTD, stylesheets |
Yes |
||
XXE Standard Edition (on April 23, 2007 replaced by XXE Personal Edition) |
All (Java) |
Yes |
XML |
DTD, RELAX NG, schema, WYSIWYG |
No |
|
All (Java) |
Selective |
XML |
DTD, RELAX NG, schema, WYSIWYG |
Yes |
||
All |
No |
XML |
DTD, RELAX NG, schema, WYSIWYG |
Yes |
||
jEdit (with XML plug-in) |
All (Java) |
Yes |
XML |
DTD |
Yes |
|
All (Java) - Eclipse-based |
Yes |
XML |
Yes |
No |
||
Win, Mac, Linux |
No |
XML |
SGML |
? |
No |
|
Win, Linux, Mac OS/X |
No |
XML |
RelaxNG, Schema, DTD, WYSIWYG, Tables, XSL stylesheets |
Yes |
||
Linux, Win, Solaris |
No |
XML |
SGML |
DTD, WYSIWYM, tables |
No |
|
Morphon XML Editor (development has been discontinued) |
All (Java) |
Yes |
XML |
DTD, WYSIWYG, tables?, stylesheets |
No |
|
All (Java) |
No |
XML |
XML Schema |
No |
||
All |
Yes |
XML |
SGML |
included in most DocBookPackages |
Yes |
|
Lyx (not just for LaTeX editing!) |
*nix, Win, Mac |
Yes |
XML |
SGML |
DTD, hybrid-WYSIWYG, tables |
Yes |
All |
Yes |
XML |
No |
No |
||
Win, Solaris |
No |
XML |
SGML |
DTD, WYSIWYG, tables, stylesheets |
Yes |
|
Win, Mac, UNIX (no Linux) |
No |
XML |
? |
DTD, WYSIWYG |
Yes |
|
Win |
No |
XML |
SGML |
tables; WYSIWYG can be added on |
Yes |
|
Win |
No |
XML |
DTD, Schema, WYSIWYG |
Yes |
||
Win |
Yes |
XML |
Specific Schema, WYSIWYG |
Yes |
||
Win |
No |
XML |
DTD |
Yes |
||
Win, Solaris, Linux |
No |
XML |
SGML |
DTD,tables |
No |
|
Win |
No |
XML |
XML Schema, WYSIWYG through XSL, tables, stylesheets, XInclude support |
Yes |
||
All (Java) |
Yes |
XML |
No |
|||
All (Java) |
Yes |
XML |
No |
|||
Linux |
Yes |
XML |
As far as I know |
No |
||
Win, Linux, Mac OS/X |
No |
XML |
Schema, DTD, WYSIWYG, Tables, XSL rendering |
Yes |
||
Win |
No |
XML |
Yes |
Yes |
||
Linux |
? |
XML |
? |
Yes |
Yes |
DTD = bundled with DocBook DTD(s)
WYSIWYG = custom support (for example, CSS) for WYSIWYG DocBook editing
tables = includes a graphical editor for editing DocBook (CALS) tables
stylesheets = bundled with DocBook XSL stylesheets or other custom DocBook transformation support
OpenOffice information is now tracked on its own page.
DocBook editing using Microsoft Word: YAWC Pro (http://www.yawcpro.com/) is a plug-in for Word that enables you to edit and export Simplified DocBook documents in Microsoft's word processor.
Discussion
Wanted: Thread for discussion on what tool to use. I'm for example a frequent user of Altova's XMLSpy, which rocks steady on all XML tasks, but the SPS system for WYSIWYG editing docbook is very bad. It is compliant, but generates too much overhead code and won't give the user any ideas at all on what she's doing.
We are using XXE (XMLMind XML Editor), and it really has made some big usability improvements in the last six months since we started using it. I also evaluated several other editors, but found that most of the others are too complicated if you just want to edit DocBook documents, mostly they show a too technical view of the XML (even though they offer WYSIWYG). A great plus is also the extensibility of the GUI (you can easily add and remove buttons and menus, so you can, for example, define menus with the most commonly needed DocBook elements). -- Bernd Kuemmerlen
You can try also <oXygen/> XML Editor (http://www.oxygenxml.com/) that can be downloaded from http://www.oxygenxml.com/download.html Oxygen can run as an applet over the web. It comes with the latest Docbook DTD and stylesheets, and includes the Apache FOP Processor, for generating PDF and PostScript. Other FO processors can be configured as plugins. Oxygen is a Java-based XML editor with support for XML, XSL, TXT, XSD and DTD documents. It has Unicode support and the interface messages are translated in English, French, German, Italian, Japanese and Romanian. It offers end tag auto-completion and a powerful code insight that guide the user to write valid XML content. The code insight can follow a DTD or an XML Schema or even can learn the structure from a partial edited document, allowing the rest the document to be created faster. An important thing is manipulating XML content and XSLT is the normal way to do this. XML and XSL documents can be easily associated one with the other and the transformation results can be viewed as text or HTML. An XPath console is present to assist the user in testing the results of XPath expressions. Oxygen validates XML, XSL and XSD content, reporting errors with description and line number information. More documents can be logically organized in projects. The syntax highlight can be customized. If the indentation is not right, then the pretty-print facility will solve this. -- Tracy Smith.
Vex is an editor for XML documents. The "visual" part of the name comes from the fact that Vex hides the raw XML tags from the user, providing instead a word processor-like interface. Because of this, Vex is best suited for document-style XML documents such as XHTML and DocBook rather than data-style XML documents. Vex uses standard DTD files to define document types and CSS stylesheets to define document layout. Vex is based on the Eclipse platform, the same platform used to build the popular Eclipse Java development environment. This foundation provides several advantages:
- The Eclipse platform implements a sophisticated plugin architecture, allowing Vex to be extended with third-party or custom, in-house plugins.
- Vex leverages many of the mature plugins that make up the Eclipse Java IDE such as the CVS interface, document searching and bookmarking facilities, and searchable help system.
- Vex is available with native look-and-feel on many platforms, including Windows, Linux/GTK, and Macintosh OS-X/Carbon.
- Java developers using the Eclipse IDE can import Vex into their IDE as a plugin, making it easy to maintain software documentation with Vex.
Spelling and Grammar
How do you perform spell- and grammar-checking?
Tool |
Platforms |
Free? |
XML |
SGML |
User interface |
Off-the-shelf DocBook support? |
UNIX, Linux, Win |
Yes |
XML |
SGML |
Text mode, but can be integrated with other applications. |
Use the -H option to check the spelling of an XML or SGML document. |
DocBook Wiki