“Back when the World Wide Web made its debut in a big way
several years ago, HTML was king. HTML is mostly a generic
documenting format and is designed for more or less one purpose: to
be displayed in a web browser. As time passed however, many web
developers realized that HTML had some serious design issues. It
wasn’t very flexible, and new features were added to the standard
by the World Wide Web Consortium at a snail’s pace. This meant that
if you wanted your web page to do such-and-such or so-and-so and
that particular feature wasn’t already included in the HTML
specifications, you were largely out of luck until a faceless
committee somewhere decided that that feature was important enough
to add to the standards. And even if they liked a particular
feature, it could take months or years for it to get included.”
“It didn’t take long for someone to get the bright idea to
create an even more generic document formatting system loosely
based on HTML syntax. XML was that bright idea. XML, unlike HTML,
wasn’t designed with a particular application in mind, such as a
web browser. It’s a generic document model. For example, in
HTML <P> means “start new paragraph”, but in XML it can mean
anything. You could make <P> mean “start new paragraph”,
“start new page”, or even “open a network connection with an
internet database and download information pertaining to potato
crop production in August, 1998 in the state of Idaho”. The
flexibility of XML is restricted only by your ability to code in an
XML-capable programming language and by your imagination.”