SGML CD: Free SGML Software and How to Use It
Also check out XSLT Quickly, a tutorial and users guide to XSLT.

The Book

6/18/01: Emacs/PSGML chapter available in Polish, thanks to Tomasz Przechlewski <>.

9/7/00: Emacs/PSGML chapter available in Russian, thanks to Boris Tobotras <>.

12/18/98: I've added a web page of PSGML Tricks. Send me yours, and I'll add them, with your name!

12/2/98: I've put the complete Emacs/PSGML chapter here for downloading. This 99-page chapter assumes no initial knowledge of Emacs and provides a basic introduction to creating and navigating simple text files before it covers PSGML, Lennart Staflin's add-in that turns Emacs into a menu-driven, validating, SGML/XML editor. (See below for the book's complete TOC and links to the software.) Full Acrobat version (8 megs) zipped version of Acrobat file (505 K).

7/30/98: E-mail from the future (I got it the evening of the 30th and its header was dated "7/31") arrives from Australia:

Subject: "SGML CD" saves the day!

Just a note of thanks for writing such a great book.

I am a programmer at an Australian publishing company and the company has contracted an outside organisation to convert much of their source text to SGML using an in-house DTD for legal publishing. Unfortunately the contractors (being human) make mistakes. Thanks to your book I have been able use SP easily to check their markup. (SP seems to pick up errors that Adept doesn't.) I have also written a couple of data conversion programs using and am currently writing a DSSSL spec to convert some of our already-marked-up documents to RTF using the examples in your book.

I have been able to implement significant conversion programs in hours using SGML and the tools you demonstrated which previously have taken weeks to implement. I am a total convert to SGML(:-).


Gary Ashton-Jones

5/19/98: I just found out that Earl Hood's utilities were updated last September, so the version you get with the link below is more recent than the one on the book's CD.

3/98: The March issue 1998 of Linux Journal reviewed the book. According to the review's conclusion, "SGML CD does a good job of introducing the reader to some powerful, useful and free SGML processing tools...If you are intending to use SGML, then I recommend this book."

11/12/97: The online magazine "XML Files" has published a review of the book at My favorite part: "This book is the answer for anyone who has ever struggled to use SGML freeware. It takes the reader beyond the often cryptic readme files with its step-by-step descriptions of installation and program use. The screen clips, keystroke documentation, and sample scripts make using free SGML software a straightforward and comfortable experience. The software and documentation in Bob DuCharme's SGML CD also provide valuable and inexpensive training for those attempting to learn more about SGML technology. This book is a must for those technologists who need to learn more about SGML and SGML systems as well as for those trying to implement SGML on a tight budget."

10/31/97: I put together XML and "SGML CD," a web page describing how you can use the software described in the book to create and process XML files.

10/15/97: You can get all the example code from the book by downloading the 83K file (If there's enough demand for a sgcdcode.tar.Z archive version, I'll make that choice available as well.) Unzipping creates a subdirectory for each chapter that has code examples and a readme file explaining how it's all laid out.

The book, part of the Charles F. Goldfarb Series on Open Information Management, is a tutorial and users guide for a wide variety of SGML software, all of which is included on an accompanying CD (see also links to all the software below): PSGML, Lennart Staflin's SGML Emacs mode, is covered with an Emacs tutorial for those who've never used this powerful editor (Win95/NT and DOS Emacs are both included on the CD). A chapter on James Clark's nsgmls SGML parser explains its many levels of error checking and its ability to convert documents to an ESIS format that is much easier to manipulate than standard SGML documents, which has made nsgmls the backbone of much SGML application development. A chapter on Clark's Jade DSSSL formatting engine introduces the DSSSL formatting language and Jade's ability to create formatted RTF versions of your SGML documents using DSSSL specifications. A chapter on Earl Hood's perlSGML DTD analysis tools shows how they can analyze and document complex DTDs without requiring any knowledge of the perl programming language.

If you do know a little perl, the book explains how to create quick SGML applications with the perl 4 script. For more complex applications, the same chapter covers David Megginson's object-oriented perl 5 development library and its accompanying tools.

Also covered is SGML Systems Engineering's SGMLC-Lite, which lets you create interactive Windows SGML applications using their SGMLC language. This simplified version of C has added features for manipulating SGML documents.

In addition to this software, the book describes sources of interesting publicly available SGML documents ranging from classic literature to IRS forms.

Preface and Table of Contents of "SGML CD" on Prentice Hall's web site.

Bob DuCharme
Prentice Hall Professional Technical Reference
ISBN 0-13-475740-8

Order online from at 20% off list price

The Software

Lennart Staflin's PSGML

New on 11/18/97 (and hence not in the book): Tony Graham's DTD-editing Emacs mode, an extension to PSGML

NTEmacs for Win95 and NT, including a FAQ. 1/8/98: See SGML for NT: A brief tutorial how to set up a free SGML editing and publishing system for Windows NT for more information on installing both NTEmacs and PSGML.

DOS Emacs:,,,,,

ispell spell checker for NTEmacs

Emacs/PSGML quick reference

James Clark's NSGMLS and SP

James Clark's jade

Jade for Sun Solaris

Other Jade UNIX binaries

Earl Hood's perlSGML utilities

David Megginson's

SGML Systems Engineering's SGMLC (2/16/98: ver. 1.3 available, adding ODBC support, Perl-like regular expressions, binary file I/O, and widow/orphan and hyphenation control)

Data (If DTDs require other files, they're probably in the same directory as the DTD):

Other Useful Programs

Win95/NT gunzip, unzip, tar

DOS unzip and gzip gzip also unzips *.gz files

DOS untar

NT/Win 95 unzip and gzip

NT/Win 95 tar tar program also untars

Microsoft Word Viewer for displaying and printing RTF files

Other Useful Sites

The SGML Web Page: home, list of public software

Whirlwind Guide to SGML Tools and Vendors: home, list of free software

Prentice Hall's SGML Series

Mistakes? Let me know at
Bob DuCharme