The principal aim of Practical SGML is to help and encourage authors, document managers and computer programmers to start using SGML. A secondary aim arose from using SGML to write this book. The standard is too technical to read when you are confronted with practical problems. Moreover, existing SGML products sometimes interpret the standard differently. A "lowest common denominator" of SGML is needed, simple and yet rich enough to be practically useful. Since the level of knowledge required by authors, document managers and programmers is not the same, the book has been split into three parts.
The first part is for authors who have selected, or who are told to use an SGML application and wish to get started with it. I begin by explaining the basic ideas of SGML in a short review of its history. I give some hints on when to use SGML and I indicate some advantages for authors. This part contains the minimum to make the reader familiar with SGML without being confronted with an insurmountable heap of buzzwords. I present the analysis of documents, i.e. how to identify the components of a class of documents with the aim of processing them in different ways. The structure of a document is rigorously described by SGML through the DTD (Document Type Definition). I explain how to understand a DTD, how to write them and how to maintain them.
The second part is for document managers and interested authors who, after a first contact, are unsure how to apply and manage SGML to help solve document management problems. It contains a description of the more formal aspects of the SGML language as well as advanced constructs which allow the inclusion of mathematics and graphics in SGML documents.
The third part is for application programmers. It demonstrates what can be done with SGML, how and why. I identify the components of an environment using SGML and which software is needed to set up such a system. I show how existing non-SGML word processing systems can be set up to make SGML documents and explain what the benefits are of an SGML editor. I show how SGML documents can be processed for a text formatter such as TEX; and a relational database. As an example of an SGML application I discuss the CALS (Computer-aided Acquisition and Logistics Support) initiative and I discuss EDI (Electronic Data Interchange) as an example of something which is not an SGML application but which could profit from becoming one. SGML documents, however, can be processed in a variety of ways... No prior knowledge, either of text processing or publishing, is needed to understand the material presented in this book, although familiarity with a word processor or a computer will help. (adapted from the preface with the author's permission)