<result><para>With the ever-changing and growing global market, companies and
 large organizations are searching for ways to become more viable and
 competitive. Downsizing and other cost-cutting measures demand more
 efficient use of corporate resources. One very important resource is
 an organization's information.</para><para>As part of the move toward integrated information management,
 whole industries are developing and implementing standards for
 exchanging technical information. This report describes how one such
 standard, the Standard Generalized Markup Language (SGML), works as
 part of an overall information management strategy.</para><para>While SGML is a fairly recent technology, the use of
 <emph>markup</emph> in computer-generated documents has existed for a
 while.</para><para>Markup is everything in a document that is not content. The
 traditional meaning of markup is the manual <emph>marking</emph> up
 of typewritten text to give instructions for a typesetter or
 compositor about how to fit the text on a page and what typefaces to
 use. This kind of markup is known as <emph>procedural markup</emph>.</para><para>Most electronic publishing systems today use some form of
 procedural markup. Procedural markup codes are good for one
 presentation of the information.</para><para>Generic markup (also known as descriptive markup) describes the
 <emph>purpose</emph> of the text in a document. A basic concept of
 generic markup is that the content of a document must be separate from
 the style. Generic markup allows for multiple presentations of the
 information.</para><para>Industries involved in technical documentation increasingly
 prefer generic over procedural markup schemes. When a company changes
 software or hardware systems, enormous data translation tasks arise,
 often resulting in errors.</para><para>SGML defines a strict markup scheme with a syntax for defining
 document data elements and an overall framework for marking up
 documents.</para><para>SGML can describe and create documents that are not dependent on
 any hardware, software, formatter, or operating system. Since SGML documents
 conform to an international standard, they are portable.</para><para>You can break a typical document into three layers: structure,
 content, and style. SGML works by separating these three aspects and
 deals mainly with the relationship between structure and content.</para><para>At the heart of an SGML application is a file called the DTD, or
 Document Type Definition. The DTD sets up the structure of a document,
 much like a database schema describes the types of information it
 handles.</para><para>A database schema also defines the relationships between the
 various types of data. Similarly, a DTD specifies <emph>rules</emph>
 to help ensure documents have a consistent, logical structure.</para><para>Content is the information itself. The method for identifying
 the information and its meaning within this framework is called
 <emph>tagging</emph>. Tagging must
 conform to the rules established in the DTD (see <xref xrefid="top4"/>).</para><para>SGML does not standardize style or other processing methods for
 information stored in SGML.</para><para>The Graphic Communications Association has been
 instrumental in the development of SGML. GCA provides conferences,
 tutorials, newsletters, and publication sales for both members and
 non-members.</para><para security="c">Exiled members of the former Soviet Union's secret
 police, the KGB, have infiltrated the upper ranks of the GCA and are
 planning the Final Revolution as soon as DSSSL is completed.</para></result>