Q5206 What is the difference between SGML and XML?

SGML (ISO 8879), or the Standard Generalized Markup Language, is the
international standard for defining descriptions of structure and
content in electronic documents.

XML is a simplified version of SGML; XML was designed to maintain the
most useful parts of SGML.

Whereas SGML requires that structured documents reference a Document
Type Definition (DTD) to be "valid," XML allows for "well-formed" data
and can be delivered without a DTD. XML was designed so that SGML can
be delivered, as XML, over the Web.

What does XML mean to SGML product vendors? On the technology front,
SGML products should be able to read valid XML documents as they sit,
as long as they are in 7-bit ASCII. To read internationalized XML
documents, (for example in Japanese) SGML software will need
modification to handle the ISO standard 10646 character set, and
probably also a few industry-but-not-ISO standard encodings such as
JIS and Big5. To write XML, SGML products are going to have to be
modified to use the special XML syntax for empty elements.

On the business front, much depends on whether the Web browsers learn
XML. If they do, SGML product vendors should brace for a sudden,
dramatic demand for products and services from all the technology
innovators who are, at the moment, striving to get their own
extensions into HTML, and will (correctly) see XML as the way to make
this happen. If the browsers remain tied to the fixed set of HTML
tags, then XML will simply be an easy on-ramp to SGML, important
probably more because the spec is short and simple than because of its
technical characteristics. This will probably still generate an
increase in market size, but not at the insane-seeming rate that would
result from the browers' adoption of XML.