|
|
SGML is the substratum on which HTML was
conceived and, therefore, is responsible for
many of HTML's strengths and weaknesses. SGML
stands for Standard Generalized Markup Language;
this is a formal system designed for building
text markup languages. It is not a markup
system by itself, however; think of it as a
programming language to build working programs
(HTML being one of them) rather than a program
by itself.
SGML is the
system designed to satisfy all of these
requirements, as well as many others. SGML
is strictly descriptive and contains no
means to mark up presentational aspects of
documents. However, SGML can be easily
interfaced to external procedural markup
systems and style sheets.
It is the
customizability area where SGML reveals its
real power. In fact, SGML is not a markup
system by itself; it is, rather, a
metasystem enabling users to create such
systems for particular types of documents.
Its flexible syntax makes it possible to
build markup languages (HTML being one of
the examples) to match any imaginable
demand. Moreover, any single SGML document
can be provided with its own "local" markup
definitions fine-tuned for the particular
purpose.
Just like
HTML, SGML
is a computer language rather than a data
format. This means that you can create SGML
files manually in a text editor, although
there exist software tools that facilitate
the task. A piece of software that reads
and analyzes an SGML document (for example,
for transformation or validation) is called
an SGML parser. A parser by itself,
however, is not very useful because of the
purely descriptive nature of SGML, so most
often a parser is a part of a bigger
document processing or browsing application.
|