by Wayne Wohler
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.
This information will be presented in this format:
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 /ContentsWayne L. Wohler, Dept G82/025Z, Publishing Solutions Development, IBM Corporation, PO Box 1900, Boulder, Colorado 80301-9191