![]() PREFACEAs 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:
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 ApproachSoftware documentation can take three approaches:
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 SoftwareWriting 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 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 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
Useful Installation UtilitiesMost 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 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
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
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 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. |
| © Prentice-Hall, Inc. A Simon & Schuster Company Upper Saddle River, New Jersey 07458 |