Back/Next /Contents

SGML Declarations

by Wayne Wohler

IBM Corporation


Today's publishing workplace is evolving from a collection of homogenous, isolated, islands to distributed networks of interconnected, heterogeneous systems. In addition, companies are now competing in a global marketplace. Both of these situations complicate the interchange of information, even given a shared markup system, like SGML. The representation of characters across different computer systems can be quite different for even the most fundamental Latin characters. Add to this the problems of handling large numbers of characters that are unique to a particular language within a very constrained set of bit combinations (often 256 on today's systems) and it is no longer a matter of choosing a particular character encoding to use but rather communicating which of a large possible set was used.

Cross-company alliances and consortiums, as well as mandates by large institutions (like the Department of Defense), are making it important that the definition of applications (DTDs and the semantics their elements represent) be well-defined and that limits be consistently applied by all parties using these applications. This provides a template that all can use and assume is used by all other users of the application data.

As you might expect, SGML has provided a standard mechanism for defining many of these characteristics of applications and documents. This mechanism is called the "SGML declaration". It is a structured text file which, when used, is part of the document it describes. The information it contains and how this information is specified is the subject of this article.

The following list describes each part of the SGML declaration. Each item will be discussed in greater detail.

  1. Bit combinations used to represent characters and controls within a marked-up document - document character set
  2. Values which represent the size or complexity of an application by giving a weighted count of SGML objects used in a document - capacity set
  3. The scope and definition of the syntax used in a document - concrete syntax scope and concrete syntax
  4. The declaration of all the optional features of SGML used by the document - feature use
  5. The specification of any application-specific information - application-specific information

This information will be presented in this format:

  1. Document Character Sets
  2. Declaration of a Concrete Syntax
  3. Feature Usage Declaration
  4. Application Specific Information
  5. Using the Concrete Syntax Scope
  6. Capacity Sets

After the description of these specifications, I'll make a few final notes on SGML declarations (A Few Final Notes), give a wrapup (Putting It All Together), and give a complete example (Example SGML Declaration).

Back/Next /Contents

Wayne L. Wohler, Dept G82/025Z, Publishing Solutions Development, IBM Corporation, PO Box 1900, Boulder, Colorado 80301-9191
Phone: 1-303-924-5943