Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
The SGML handbook
Goldfarb C., Oxford University Press, Inc., New York, NY, 1990. Type: Book (9780108537370)
Date Reviewed: Nov 1 1991

Standard Generalized Markup Language (SGML) is defined here as “a language for representing documents that are acted on by text processing applications.” This is as good a one-sentence definition as I have seen; SGML is too complex a concept to summarize easily. The SGML approach to describing structured information grew out of older concepts of generic markup for typography. SGML is frequently used when text is likely to be presented in multiple formats (such as a printed book and a hypertext CD-ROM) or exchanged among unlike computer systems (such as between fabricator and purchaser database systems), or when documents will be revised over an extended period of time. SGML applications include electronic documents, hypermedia, and synchronized multilingual documents. SGML is the text encoding component of the Department of Defense Computer-aided Acquisition and Logistics Support (CALS) initiative.

ISO 8879 is the international standard for SGML. ISO 8879 defines SGML through a series of logical productions. The standard, while precise and specific, is not easily read or understood. This book is, in essence, a 664-page definition and explanation of the SGML standard, by the editor of that standard.

This handbook is divided into four parts: “Tutorials,” “A Structured Overview of SGML,” “ISO 8879 Annotated,” and “ISO 8879 Annexes.” It also has four appendices, extensive tables of contents, and indexes. Some of the tutorials and the ISO 8879 annexes are simply reprinted from the international standard. The bulk of the book consists of original material, annotations, material so transformed by sequence and presentation that it is essentially new, and an integration of material available elsewhere only as separate documents.

The most innovative and valuable part of the handbook is Part 2, the “Structured Overview of SGML.” This material is a retelling of the SGML story, using the definitions from ISO 8879. In ISO 8879 the definitions are presented in alphabetical order. In alphabetical order, these definitions are confusing and often appear cryptic if not circular. Goldfarb has divided the topics addressed in ISO 8879 into logical groups, which he presents from most general to most specific. The subtopics included in each of these groups are elucidated by presenting the ISO 8879 definitions in a cumulative sequence, with brief introductory remarks and short transitional paragraphs. Goldfarb has created a smooth and cohesive explanation of SGML from an inaccessible reference document, primarily through the use of sequence and the addition of headings. This is a brilliant pedagogical feat and a ringing indictment of alphabetical order. Few, if any, aspects of the standard are not covered by the definitions, so this structured overview is a complete explanation of SGML in narrative form. Most SGML novices and nonmathematicians will find this description of SGML less intimidating and easier to understand than the standard itself.

The full text of the standard appears in Part 3. This text incorporates the amendment of 1988 and the clarifications recommended by the SGML Special Working Group in 1990. (To my knowledge, no other source contains the fully integrated text of the standard with the amendment and recommended clarifications.) The text is heavily annotated. Annotations introduce each section and subsection and many of the individual subparagraphs and productions. The annotations include plain English descriptions of the productions, descriptions of why the various features of SGML were included, historical notes on the genesis of many features, and examples of the use of various aspects of SGML. The author’s opinions, both on aspects of the standard and on common applications of SGML, are liberally incorporated. He gives advice on when to use various features and when to avoid them, and provides warnings on practices that while valid may cause unanticipated difficulties in practice.

The full text (unannotated) of the three tutorial annexes from ISO 8879, “Generalized Markup,” “Basic Concepts,” and “Additional Concepts,” begins Part 1, “Tutorials.” Part 1 also includes a new tutorial on the LINK feature of SGML. To quote from this tutorial, the SGML LINK feature “lets you specify formatting (or any other process) without distorting the logical structure markup. In a nutshell, LINK lets you associate processing-oriented attributes with a start-tag without actually putting them there. Or, to put it another way, LINK allows you to associate style sheets and procedures with elements.” The LINK tutorial is clear and straightforward. While it does not cover all of the ways applications are currently using LINK, it is a good start toward understanding this most complex subtopic of SGML.

Part 4, “The ISO 8879 Annexes,” contains the full text (unannotated) of the nontutorial annexes to ISO 8879. A full table of contents to these annexes is provided, and they are included in the overall index. The appendices include a history of SGML and a list of sources for further information about SGML. The history of SGML is a reprint of a 1989 SGML Users’ Group document, which has been widely reprinted. It is a dry version of the history; not inaccurate, but lacking all hint of controversy, difficulty, or personality. I am disappointed that this book does not add a little more detail and color to the recorded history of SGML. The “Sources of SGML Information” appendix is the weakest part of the handbook; the lists of people and organizations who provide SGML information, of SGML books, and of publications relating to SGML are short and briefly annotated.

This book is the most heavily indexed and cross-referenced volume in my collection. The tables of contents for the parts are up to five levels deep and constitute an admirable summary of the book, and of SGML, in themselves. The book contains an extensive index, not only to the headings within the text but to the minutiae, as well as a “reference button” system of cross-references within the volume. The typography of the handbook is self-conscious and complex, but easy to understand. The major distinction made typographically is between the official text of ISO 8879 and the annotations.

The handbook would be a must-have in every SGML reference collection if all it contained was the integrated annotated text of the standard. In addition, the structured overview of SGML is the best technical explanation of SGML I have seen. While the handbook is not presented as a textbook, I have already ordered a set to use as the text in a DTD construction class, and also plan on using it when teaching SGML basics.

Reviewer:  B. Tommie Usdin Review #: CR115288
Bookmark and Share
 
Sgml (I.7.2 ... )
 
 
Reference (A.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Sgml": Date
SGML and related standards
Smith J., Ellis Horwood, Upper Saddle River, NJ, 1992. Type: Book (9780138065065)
Oct 1 1993
The SGML implementation guide
Travis B., Waldt D., Springer-Verlag, London, UK, 1995. Type: Book (9783540577300)
Sep 1 1996
The concise <SGML> companion
Bradley N., Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1996. Type: Book (9780201419993)
Oct 1 1997
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy