Nonsense. SGML was there before HTML.
Yes, SGML was there but SGML was not chosen as the language to be
used for initial deployment. Instead we used it's CERN inspired
derivative, HTML. There was no XML spec when HTML was created or even
once HTML was well known. The necessary related items like XSL, CSS,
etc were long in arriving... and in some cases, still are not there.
As a note, SGML was considered for use instead of creating another
derivative (XML) but it was felt to be too complex for the job that
needed to be done.
XSL is designed to do something entirely different from CSS. XSL doesn't
specify any presentation, you still need a CSS (or some other) style sheet.
Loosely speaking, XSL consists of two components: XSLt which is the
procedural/programming component and XSL:FO which is the formatting
component. A world with XML, XSLt, and XSL:FO would be terrific for
developers and development.
No it doesn't. I can define an XML DTD which has <font> and other
presentational nonsense, and that would be perfectly valid XML.
You missed the concept. XML is about data. You can have any data
spec'ed that you want. XML never, ever, says anything about
presentation. All you have in XML is labeled data. Now, if you want
to create an XML compliant language (such as XHTML) that contains
elements that are _used_ by an application as formatting commands,
you may. The XML file still just contains data.
You can create a DTD that allows for <font> tags. However, that does
not mean that XML says anything about formatting. What it means is
that you (or someone else) wrote an application that expects or
understands a <font> tag. In XML terms, it's all just data.