SGML/XML Editing Tools

Note: List derived from content found on The XML Cover Pages found on the OASIS site, and from The Whirlwind Guide to SGML & XML Tools and Vendors by Steve Pepper.

Public (free/shareware) Tools

PSGML, by Lennart Staflin

[CR: 19991016]

PSGML is described as "a major mode for editing SGML and XML documents. It works with GNU Emacs 19.34, 20.3 and later or with XEmacs 19.9 and later [perhaps also Lucid Emacs 19.9, OEmacs, NTEmacs]. PSGML contains a simple SGML parser and can work with any DTD. Functions provided includes menus and commands for inserting tags with only the contextually valid tags, identification of structural errors, editing of attribute values in a separate window with information about types and defaults, and structure based editing." David Megginson's personal testimonial: "XEmacs+PSGML is my editor of choice for all of my XML and SGML work. I've used it to create probably close to 10,000 printed pages of documentation over the last few years, and have used XEmacs's regular-expression facilities for adding complex markup to e-texts. It's probably not suitable for naive users (give 'em XMetaL or WordPerfect, or maybe XED), but for the tech-savvy, it's great." [XML-DEV]

Emacs LISP Mode - sgml-mode.el

From James Clark et al.:

tdtd - Emacs Macro Package for Editing SGML/XML DTDs

[CR: 19990322]

In March 1999, Tony Graham (Mulberry Technologies, Inc.) released an updated version of his tdtd 'Emacs Major Mode for SGML and XML DTDs'. Features in revision 0.7: (1) Standalone mode for editing DTDs; (2) dtd-etags function for creating Emacs TAGS files for easy lookup of any element, parameter entity, or notation's definition using Emacs's built-in tag-lookup functions; (3) dtd-grep function for searching files that shares a file history with dtd-etags for easy searching of the same files with both functions; (4) Specific font lock highlighting of declarations in XML DTDs, SGML DTDs, SGML Declarations, and System Declarations so that the important information stands out; (5) XML-specific behaviour that, at user option, is triggered by automatic detection of the XML Declaration; (6) Functions for writing and editing element, attribute, internal parameter entity and external parameter entity declarations and comments to ease creating and keeping a consistent style; (7) Elements and parameter entity names referenced in declarations are stored in minibuffer history to minimise retyping in new declarations."

[August 03, 1998] Update of the tdtd emacs macro package for editing SGML/XML DTDs.

[May 27, 1998] The tdtd Emacs Macro Package for editing SGML/XML DTDs was updated by Tony Graham on May 24, 1998. Version 0.5.1 features: "1) dtd-etags function for creating Emacs TAGS files for easy lookup of any element, parameter entity, or notation's definition using Emacs's built-in tag-lookup functions; 2) Font lock highlighting of declarations so that the important information stands out; 3) XML-specific behaviour that, at user option, is triggered by automatic detection of the XML Declaration; 4) Functions for writing and editing declarations and comments to ease both creating and keeping a consistent style."

Previously: Tony Graham (Mulberry Technologies, Inc.) announced the availability of a tdtd Emacs Macro Package for editing DTDs (revision 3, December 14, 1997). The macro package was presented in a poster session at SGML/XML '97. The macros have been developed "intermittently over the last two years." Tony says: "The tdtd macro package for an Emacs major mode for editing DTDs is available at The package includes font lock keywords for colour highlighting of declarations and reserved words plus a collection of macros that help when writing DTDs. The dtd-mode is a derived mode that builds on sgml-mode, and the features of sgml-mode are still available." The author will gladly accept bug reports and/or enhancements.


HoTMetaL: SoftQuad's HoTMetaL editor for HTML

HoTMetaL is an unsupported version of the commercial product HoTMetaL Pro. It provides an editor/browser for (extended) HTML documents. HoTMetaL is available on a number of platforms (UNIX, MS-Windows, etc.). A tutorial for HoTMetaL Pro teaches HTML basics, supported by an HTML Quick Reference guide. The most recent [March 1995] Windows version of HoTMetaL supports some of the Netscape extensions (e.g., <CENTER>, <BLINK>), displays graphics inline, uses a stylesheet configured to look like a standard HTML browser, and supports a filter for loading plain text files and invalid HTML documents. See the posted public announcement or the fuller description on the SoftQuad server, including FTP location. Try the FTP directory, and specifically the binary file

Other mirror FTP sites list for HoTMetaL

Connect to the SoftQuad server for a recent list of FTP sites in the US, Canada, and Europe that host HoTMetaL. The FTP links below are older, but may still be alive:

  • /pub/infosystems/mosaic/contrib/SoftQuad
  • /pub/infosystems/www/ncsa/Web/contrib/SoftQuad
  • /pub/WWW/editors/HoTMetaL
  • /pub/net/infosys/Mosaic/contrib/SoftQuad
  • Email to:

The Wurd [was: WP] Project

"Wurd is an SGML capable Wurd Processor and publishing tool for multiple operating systems/platforms - although at the moment the only operating system supported is Linux. [June 1997]

[Work in progress only] WP is "a word processor being built by linux enthusiasts. . . with a native file format based on the SGML model. . .The use of SGML as the file format means that wp has an open interchange format. It will be possible to maintain World-Wide Web pages directly with wp."

GRIF Symposia: "A Collaborative Authoring Tool for the World Wide Web" (HTML and XML)

[CR: 19970827]


IADS: Integrated Authoring and Display System

[CR: 19960718]

"Interactive Authoring and Display System (IADS) was developed as a U.S. Army Missile Command initiative to reduce or eliminate paper documentation. IADS utilizes standard generalized markup language (SGML) to manipulate the text and graphics. The author can chose to display graphics within the text and/or in separate windows." [from the Home Page]

Markus Hoenicka's SGML/DSSSL Setup for Windows NT

[CR: 19981014]

"These pages describe how to set up a free integrated SGML editing and publishing system running under Windows NT - and, with a few modifications of the installation procedure, also on Windows 95/98 boxes." The documentation provides instructions for the installation of Emacs, Jade, PSGML, Ghostscript, Acrobat, MiKTeX, AucTeX, Jadetex, DocBook, etc.


JUMBO - XML browser/editor

[CR: 19980904]

JUMBO (Java Universal Markup Browser for Objects) "is a Java-based browser for XML documents, being developed by Peter Murray-Rust. JUMBO is a set of Java classes for viewing CML (and other XML) applications. It can be used in standalone mode (application), or as applets downloaded from a server to a traditional Java-enabled browser, or locally, within a Java-enabled browser, with the classes under the document tree."

[September 04, 1998] Peter Murray-Rust posted an announcement describing the release of the latest snapshot of JUMBO2 (alpha2, version 2A2) and the associated Web site, XML-CML at is the home page of the nascent Chemical Markup Forum, metamorphosing from the Open Molecular Foundation. JUMBO2 is an element-oriented XML-browser, in Java/Swing. It is an application for the demonstration of XML and CML. Its source is freely available with the normal sort of copyright. The architecture tries to follow the specs and anticipate the possible XML-related APIs. JUMBO2 is now offered to the community as a catalyst to spawn the creation of high-quality client-side tools ('browsers'). Ideally we converge towards a set of core APIs and all that remains of my code will be the elephant-specific stuff. I have already started to get some offers of help."

[May 28, 1998] An announcement was posted by Peter Murray-Rust for the release of JUMBO 2.0 (alpha). "JUMBO 2.0 is a Java-based freeware SAX-compliant XML browser/editor prototyping tool which tracks the emerging XML specs. It is a complete rewrite of JUMBO1 and has new functionality, especially for editing and exploration. JUMBO 2.0 uses the SwingSet (JFC) 1.0.1, with SAX, and your parser(s) of choice. [It] is offered as a collaborative core for Java-XML based projects. . . XML namespaces, XSL, XML-DTDs, XML-LINK, Xpointer etc. will be implemented as soon as the current [W3C] drafts firm up."

[January 29, 1998] Announcement from Peter Murray-Rust for an alpha "snapshot" (i.e. release) of his Java-based JUMBO tool. David Megginson has added JUMBO to the list of clients supporting SAX: "In Java, there are now five XML parsers with SAX support available and four publically-announced SAX clients (that makes twenty possible client-parser combinations, according to my arithmetic)." The documentation from Murray-Rust describes JUMBO as "an element-oriented system for processing XML documents. It can read and parse (with/without additional parsers, with/without the SAX interface). It creates a tree or elements and attributes with various types of content. It also supports processing instructions (PIs) in a generic manner. There is support for namespaces and XSL stylesheets, though JUMBO does not have sophisticated rendering. It has a browsing model based on a tree/TOC model, event streams or customised element display. It supports (SIMPLE) XLL navigation including NEW and REPLACE and most Xpointer syntax. It extends the latter to provide sophisticated search and navigation tools for the document. JUMBO also provides authoring and editing facilities, driven by DTD information where possible. These can be customised to provide novel types of data input other than text. JUMBO is designed to be extended, especially through subclassing or elements, and I hope that a collaborative community (cf. tcl/tk, LaTeX, Linux) will develop for its future support. . . [Among the principal features]: 1) JUMBO is 100% pure Java (1.02) and runs as an applet or application; 2) JUMBO does not knowingly deviate from the X*L specs, apart from known limitations; 3) JUMBO has an elementary XML parser, sufficient for its own configuration files; 4) JUMBO has been developed to be used with the SAX API so that any SAX-J-compliant parser [1998-01-28: AElfred, Lark, MSXML, NXP, (XP not yet done)] can be used at runtime." See

[May 24, 1997] Jumbo is "a prototype XML engine primarily aimed at: (1) Providing a prototyping tool for XML developers; (2) Exploring non-textual uses of XML; (3) Specifically, but not exclusively, supporting Molecular Science; (4) Resolving semantics through hyperlinking to documents or Java methods."

"JUMBO is built from components and is not limited in what applications it can be configured for. At present it consists of these parts [described here in abbreviated format; see the full documentation for updated information]

[November 10, 1997] Announcement from Peter Murray-Rust (Virtual School of Molecular Sciences) for updates to JUMBO and CML1.2 (Chemical Markup Language).



XED - An XML document instance editor

[CR: 19980715]

[July 15, 1998] An announcement from Henry S. Thompson reported on the availability of a new beta-release of the XED "XML document instance editor" from the HCRC Language Technology Group, University of Edinburgh. This new beta-level release of XED has additional features, improved installation packaging for WIN32 platforms, and bug fixes. Upgrades include: 1) refilling of text content and indenting of element content upon request; 2) accented character support [ISO-8859-1]; 3) an experimental file processing facility: processing may be invoked on the file, "and XED will then step you through any validation or application errors which are logged" (e.g., nsgmls and jade).

[March 18, 1998] Henry S. Thompson (Language Technology Group, University of Edinburgh) posted an announcement for the availability of an alpha release of 'XED: A smart XML instance editor'. As a WYSIWYG XML instance editor, "XED uses the LT XML toolset integrated with a Python-Tk user interface, to provide a free, cross-platform, well-formedness preserving editor for XML document instances. . . as a text editor for XML document instances, it is designed to support hand-authoring of small-to-medium size XML documents, and is optimised for keyboard input. It works very hard to ensure that you cannot produce a non-well-formed document. Although it neither parses DTDs in detail nor validates, it does keep track of your document structure, and provides context-based accelerators to make element and attribute entry fast and easy. XED keeps track of all the changes you make in your document, so that you can undo changes, as many as you need to, if you make a mistake. This makes it easy to learn . . ." Windows95/NT and Solaris 2.5 binaries are available now [980320]. The author solicits feedback from testers for this alpha version of XED.

An update notice for the alpha version was posted on April 02, 1998.

XML Editing Mode in PSGML

[CR: 19980223]

[December 09, 1997] Announcement from David Megginson (Microstar Software Ltd.) for a new public version of the XML patches for Lennart Staflin's PSGML (an SGML mode for Emacs). Available from the author's home page. "These patches allow you to use PSGML in Emacs as a non-validating XML editor: all names will be case-sensitive, many (but not all) forbidden constructions will generate errors, all attribute values will be quoted, and PSGML will use the variant XML delimiters. There are also two changes that are useful for full SGML as well as XML: 1) these patches add support for multiple ATTLIST declarations for the same associated element type; 2) the variable sgml-namecase-general allows you to make element type names, attribute names, and keywords case-sensitive in full SGML as well."

[August 09, 1997] Public posting of an announcement from David Megginson (Microstar Software Ltd.) for initial enhancements of PSGML to enable an XML editing mode: ". . . I patched PSGML to add an XML mode that enables XML-specific delimiters, parsing, and error-reporting -- in other words, it's a real, native XML DTD-driven editor." The new code for XML support has not yet been incorporated into the main psgml distribution, but Megginson is requesting assistance from qualified alpha testers to help debug the code. Please help! The announcement contains a list of currently supported and unsupported XML features.


Microsoft XML Notepad

[CR: 19980723]

On July 22, 1998, Microsoft Corporation released the Beta 1 version of a "Microsoft XML Notepad." The online description says: "Microsoft XML Notepad is a simple prototyping application for HTML authors and developers that enables the rapid building and editing of small sets of XML-based data. With XML Notepad, developers can quickly create XML prototypes in an iterative fashion, using familiar metaphors. XML Notepad offers an intuitive and simple user interface that graphically represents the tree structure of XML data. . . XML Notepad's user interface is simple and intuitive. The XML source is represented graphically. The topmost element is the root element. Every XML file can have only one root element. Elements are represented by either folder icons, if they have dependent structures (for example, attributes or other elements), or by leaf icons if they have no substructures. Attributes are represented by 3-D blocks while text and comments are represented by text icons and exclamation mark icons, respectively. The structure of the data is represented in the left column while the values of the nodes are displayed in the right column." Interesting features: 1) search and replace of text can be restricted to one or more of 'content, element type names, attribute names, attribute values, and comments'; 2) files for editing can be nominated by system (filename) or URL; 3) drag-and-drop nodes.


Commercial Tools

For in-depth descriptions of tool categories, presentations of tools and vendors, and much else, see the SGML Buyer's Guide by Charles Goldfarb, Steve Pepper, and Chet Ensign, published by Prentice-Hall.


Tools whose sole purpose is the creation and modification of content. Printed output is "draft-only". Typesetting is left to other applications.

ADEPT·Editor (also: FOSI editor) ArborText, Inc. win3 win95 nt dos sol sunos alpha aix hpux sgi os2 XML support
Author/Editor Interleaf, Inc. win3 win95 nt sol sunos alpha aix hpux sgi mac #other  
EditTIME T.I.M.E LUX s.ą r.l. win3 win95 nt aix  
InContext Siemens Nixdorf Informationssysteme AG win3 win95 nt  
S4/TEXT Infrastructures for Information Inc. win95 nt  
SGML Notes Grif S.A. win3 win95 nt sol sunos aix hpux  
Smart SGML Editorial System Auto-Graphics, Inc. win95 nt aix c++  
STILO SGML Document Generator STILO Technology Ltd. win3 win95 nt mac  
Write-It Sema Group Belgium win3 win95 nt dos  
WriterStation Datalogics, Inc. win3 win95 nt dos os2  


Tools for editing Extensible Markup Language (XML) documents.

CLIP XML Editor Techno2000 USA java  
Stilo WebWriter STILO Technology Ltd. win95 nt  
Symposia pro Grif S.A. win3 win95 nt sol sunos aix hpux  
XMetal SoftQuad Software Inc. win95 nt  
XML Pro Vervet Logic win95 nt  


Tools that add SGML editing capabilities to non-SGML editors.

SGML Tagger Richard Light Consultancy dos Add-on for MS-DOS editors
PSGML [free] win95 nt dos linux sol sunos alpha mips aix hpux sgi vms Major mode for emacs


SGML editors with advanced composition capabilities.

ADEPT·Publisher ArborText, Inc. win3 win95 nt sol sunos alpha aix hpux sgi os2  
Adobe FrameMaker+SGML Adobe Systems Incorporated win95 nt sol sunos aix hpux sgi mac  
Corel WordPerfect Corel Corporation win3 win95 nt  
Interleaf 6 <SGML> Interleaf, Inc. win95 nt sol sunos alpha aix hpux  
SGML Editor Grif S.A. win3 win95 nt sol sunos aix hpux XML support


Tools that add SGML editing capabilities to non-SGML word processor/formatters.

Near & Far Author Microstar Software Ltd. win3 win95 nt Add-on for Microsoft Word
SGML TagWizard Delta Computers Ltd Oy win3 Add-on for Microsoft Word.


Tools that add SGML conversion capabilities to non-SGML word processor/formatters.

SGML Author Microsoft Corporation win95 Add-on for Microsoft Word