As the use of SGML continues to grow, there is an advance guard ahead of the large-scale commitments to SGML publishing around the world. These are the people who first learn about it, see the benefit for their organization, play with it and put together some demos. They lay the groundwork for convincing the people who sign the checks that information that won't fit into tables is still a corporate asset that can be more efficiently managed using SGML.

These early adopters have many obstacles to overcome. They have to explain that, although "SGML" begins with "S" and ends with "L," it has nothing to do with SQL. They must demonstrate that you can't get all the same benefits using style sheets and macros in the company's word processor. They must show that taking the trouble to store data as valid SGML makes it much easier to quickly convert it to the formats being developed today to distribute information in a growing number of available media.

And, they must often do this with little or no money. With all the new technologies competing for corporate dollars, the keepers of the purse strings want real proof that spending money will earn or save them more than they spent.

So these visionaries have a tough task. In addition to providing education, they must demonstrate financial benefits without spending any money. Fortunately, more and more free software is available to put data into SGML and to take advantage of it once it's there. Along with tools to edit, validate, and process SGML documents, utilities are available to more easily understand a document type's structure, making it easier to perform the other tasks efficiently.

Free SGML software falls into two categories:

  • Tools written by users for themselves that they make publicly available. They do this out of the goodness of their heart, not for money.

  • Free versions of commercially available software that lack some of the features of their non-free counterparts. The developers hope that you like the free version enough to go out and buy the full-featured version.

Software in the first category tends to originate on UNIX machines because this operating system has always had a philosophy of combining generalized tools to create more specialized ones. Because of the wide availability of the interpreter for the perl scripting language and the practice of using standard C or C++ to write command line utilities, these tools often port easily to other platforms. NT and Windows 95, being 32-bit operating systems that allow long filenames, have made such porting even easier for former DOS/Windows 3.1 users.

Commercial developers want to offer a slick, easy-to-use interface, which makes it difficult to create a product that works on multiple platforms. The popularity of Microsoft Windows and its successors makes it the most common target for such software.

A key advantage of commercially developed free software is that it's more likely to include helpful documentation. It's asking a lot to expect lone programmers who are generous with their work to add good documentation to the software that they give away, but a company trying to entice you to spend your money is more likely to add professionally written documentation-usually packaged as online help-to the software.

This Book's Approach

Software documentation can take three approaches:

  • A reference manual, which lists all of a program's features organized alphabetically or by program component.

  • A tutorial, which describes specific steps to follow, with a concrete example to lead the user through the process of using the program.

  • A users guide, which organizes its descriptions of how to use the program by the tasks the user most wants to accomplish.

Shrink-wrapped software often comes with multiple volumes of documentation to cover all these angles. Free software usually comes with a text file or help file that provides a reference to the program's available features, but software developers who charge little or no money lack the budget to provide a users guide or tutorial, and commercial software companies giving away a less powerful version of a product sometimes hope that the lack of documentation will encourage you to buy the product's full-featured version.

The chapters of this book are three-fourths users guide and one-fourth tutorial. They provide examples to demonstrate individual tasks, but no thirty-step processes that use sample data unrelated to your daily use of SGML. It's not a reference work, because all of the programs include some kind of list of their features. This book's principal goal is to get you up and running with each program, not to describe the procedure for taking advantage of every available feature. Once you've learned the procedures, keystrokes, and menu items that I've found to be the most important in using each product, a review of their reference material will reveal other features and even alternative ways to do things described here that may be more comfortable for you.

Getting and Using the Software

Writing this kind of book means shooting at many moving targets. By the time you read this, many of the programs described will have new features not covered in this book. When you get one of these programs, compare its release number with the one mentioned in the beginning of its chapter in this book.

Most free software includes a list of the new features from each upgrade. For example, the PSGML add-in to the Emacs text editor includes the file README.psgml, which lists new features in this format:

New in version 1.0a12
See ChangeLog...

New in version 1.0a11
* Autoconf support
Tanks to Karl Eichwalder.
* Bugs fixed
** after-change-function lost if text entity referenced
** Mouse button 3, has wrong binding in XEmacs.

New in version 1.0a10
* Changed how fontification is done
First the current line is parsed and fontified. If this would mean parsing more than 500 chars, wait 1 second first.
Wait 6 seconds and then fontify rest of buffer.
These waits and the parsing can be interrupted by any input event.
This seems to work well with Emacs 19.29 and XEmacs 19.13 on Linux.
* XEmacs menus made with easy-menu
Now there is only one set of menu for both Emacs and XEmacs.

(The ChangeLog file it refers to describes changes at a much more technical level instead of merely listing new and changed features.)

The CD included with this book includes the versions of the software available at the time of the creation of the CD. The CD's root directory has the file update.txt, which summarizes differences between the versions on the CD and the most recent versions available when I finished writing about the programs.

Useful Installation Utilities

Most of the programs described in this book are actually a combination of files. To ease downloading, the files are usually compressed and combined into one file. The file's extension tells you what utility was used and hence what utility you need to pull the files out.

In the DOS/Windows compressed files world, the pkzip program is the most popular for combining files into a single one known as a zip file . (For example, one release of Earl Hood's perlSGML utilities comes in a file called 1996Oct09.zip.) The pkunzip program used to unzip these files is available for free at many web and ftp sites.

The GNU collection' gzip and gunzip utilities are free programs first developed to zip and unzip files on UNIX systems. Because these have been ported to DOS/Windows and Windows 95/NT,they are particularly handy for zipping files on one platform that can be unzipped on another. These are often used to compress a file that has already been combined from multiple files with the UNIX tar program. One UNIX version of the perlSGML utilities, for example, is stored in a file called perlSGML.1996Oct09.tar.gz.

You'll find the UNIX, Windows 95/NT, and DOS/Windows 3.11 versions of gunzip at http://www.ehess.fr/centres/lscp/persons/pallier/softs/softs.html

Further Research

The best sources for finding out about new SGML software, free or otherwise, are the best sources for finding out about SGML in general: the comp.text.sgml Internet newsgroup and Robin Cover's "SGML Home Page" web page. The technical level of the newsgroup can make it confusing for beginners, but many of the SGML community's most important people read it and post to it, so it's a tremendous opportunity to learn.

Robin Cover's "SGML Web Page" at http://www.sil.org/sgml/sgml.html is the most comprehensive, up-to-date guide to SGML resources. It's full of information about SGML organizations, free software, commercial software, progress in standards development, and academic, private, and government applications and research projects. It also includes similar information about key SGML subtopics such as XML and HyTime. The web site is full of cross-referenced hyperlinks and links to other web sites. The section "SGML: What's New, Relatively New, or New in the 'SGML Web Page'?" http://www.sil.org/sgml/sgmlnew.html is updated every few days to tell you what's new in the SGML world, making it very worthwhile to bookmark with your web browser.

The Future

The availability of free software gives us a clue about a technology's progress. This applies to SGML in general-obviously making great progress-but also to specific aspects of SGML. For example, James Clark's release of version 0.4 of his Jade DSSSL (the Document Style, Semantics and Specification Language) engine shows that DSSSL is making headway as a usable aspect of SGML technology, and it will also give DSSSL a boost now that we have some free software to investigate its potential value. So, in addition to being an indicator of the progress of a particular technology, new free software helps you gain some experience with that technology quickly and cheaply.

As new software development systems proliferate and SGML achieves wider use, more and more people will follow the lead of Clark and the others who wrote the software described in this book-after using their favorite systems to create SGML tools, they'll be kind enough to make their work available for nothing. These people and everyone who gives away such tools do a great service to the SGML community. We all owe them many thanks.

[Preface][Table of Contents][Mailing List]
[PTR Home Page][Ordering Info][Home]

© Prentice-Hall, Inc.
A Simon & Schuster Company
Upper Saddle River, New Jersey 07458

Legal Statement