SGML CD: A Complete SGML Toolkit

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.

Today’s modular x86 servers are compute-centric, designed as a least common denominator to support a wide range of IT workloads. Those generic, virtualized IT workloads have much different resource optimization requirements than hyperscale and cloud applications. They have resulted in a “one size fits all” enterprise IT architecture that is not optimized for a specific set of IT workloads, and especially not emerging hyperscale workloads, such as web applications, big data, and object storage. In this report, you will learn how shifting the focus from traditional compute-centric IT architectures to an innovative disaggregated fabric-based architecture can optimize and scale your data center.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
| Non-Linux FOSS: Seashore | May 10, 2013 |
| Trying to Tame the Tablet | May 08, 2013 |
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Validate an E-Mail Address with PHP, the Right Way
- Drupal Is a Framework: Why Everyone Needs to Understand This
- The Pari Package On Linux
- A Topic for Discussion - Open Source Feature-Richness?
- New Products
- New Products
- Trying to Tame the Tablet
Enter to Win an Adafruit Prototyping Pi Plate Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Prototyping Pi Plate Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- Next winner announced on 5-21-13!
Free Webinar: Linux Backup and Recovery
Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.
In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.




1 hour 37 min ago
7 hours 16 min ago
13 hours 15 min ago
13 hours 38 min ago
13 hours 48 min ago
13 hours 52 min ago
14 hours 22 min ago
17 hours 14 min ago
17 hours 49 min ago
17 hours 50 min ago