1. SGML is a metalanguage, that is, a means of formally describing a language, a markup language. Before going any further we should define these terms. SGML is an international standard for the description of marked-up electronic text.
2. SGML is very large, powerful, and complex. It has been in heavy industrial and commercial use for nearly two decades, and there is a significant body of expertise and software to go with it.
3. XML is a lightweight cut-down version of SGML which keeps enough of its functionality to make it useful but removes all the optional features which made SGML too complex to program for in a Web environment.