SGML CD: A Complete SGML Toolkit

 in
SGML CD introduces a variety of readily available free software packages that assist authors in editing, validating and processing SGML.

  • Author: Bob DuCharme

  • Publisher: Prentice Hall

  • URL: http://www.prenhall.com/

  • Price: $49.95 US

  • ISBN: 0-13-475-740-9

  • Reviewer: Terry Dawson

SGML CD is not a text from which to learn SGML. SGML CD introduces a variety of readily available free software packages that assist authors in editing, validating and processing SGML.

Bob DuCharme evidently has a great deal of experience in SGML and his writing reflects this. His writing style is the simple and relaxed style of someone who understands the material covered and wants you to understand it too.

SGML CD includes a CD-ROM containing versions of each of the software packages described in the text. The software versions supplied are for Microsoft Windows 3.1, 95 and NT operating systems. Unix versions of nearly all of the packages are available, and most of these are already supplied in modern Linux distributions. I'd have been pleased if the source code for the applications had been provided on the CD-ROM, but instead it provides references describing the location of the software on the Internet. You will have no difficulty locating the code you need.

The text describes one tool per chapter. The main topics covered are:

  • Editing SGML documents with the Emacs text editor

  • Parsing and validating SGML Documents with nsgmls

  • Formatting Documents with DSSSL (Document Style Semantics and Specification Language) specifications and jade

  • Analysing Documents with the perlSGML tools

  • Developing SGML Applications with Perl

  • Developing Windows SGML Applications with SGMLC-Lite

Some 100 pages of the text cover Emacs. The chapter begins with a brief tutorial on Emacs use, but most of the chapter is dedicated to the Emacs PSGML mode, which is a toolkit of Emacs macros to assist SGML authors. I've never been particularly fond of Emacs, but reading this chapter very nearly convinced me to take another look. The PSGML mode provides an edit-time facility capable of detecting and correcting certain types of common SGML formatting errors, such as incorrect or missing tags, and assists with document structuring by providing automatic context-based indentation and SGML syntax highlights. Information is provided on everything from installation through the use of the PSGML mode.

A chapter each is dedicated to two of James Clark's programs—nsgmls and jade. nsgmls is an SGML validator; that is, it checks a marked-up SGML document for syntax and structural errors. jade is an implementation of the International Standards Organisation's DSSSL. DSSSL allows you to describe how you want an SGML document to appear in a format-independent way. jade is an SGML formatter; it takes an SGML document and a DSSSL specification and produces a formatted output file. Current versions of jade are able to produce TeX or Microsoft RTF output formats. These chapters are the two that I found most interesting. Both nsgmls and jade are covered in some detail, but you'll want a separate DSSSL reference if you want to exploit jade seriously.

The perlSGML package developed by Earl Hood is described in some detail. This collection of tools written in Perl assists the SGML author by providing ways of analysing the Document Type Definition (DTD) file that defines the structure of an SGML document. For example, dtdtree and dtdhtml analyse a DTD and provide output that describes the relationship of the various structural elements that make up the document. These can be very useful when learning a new DTD.

The remaining chapters provide an overview of two packages that may be used to develop SGML applications. The first package is two versions of the sgmls.pl program for Perl, and the second is the SGMLC-lite application for Microsoft Windows. The text describes their use and provides hints that will certainly be of value if you are using either of them.

SGML CD does a good job of introducing the reader to some powerful, useful and free SGML processing tools. Those of you with an interest in writing conformant HTML should use the tools described in this book with the appropriate DTD to validate your work. If you are intending to use SGML, then I recommend this book. If you're intending to learn SGML, get yourself a good text describing SGML and let SGML CD be your SGML tool reference.

Terry Dawson is a long-term LDP author, who has recently realised he should have learned about SGML a long time ago. He can be reached at terry@perf.no.itg.telecom.com.au.

______________________

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState