The Push for Standards
The Web's United Nations is an organization called the World Wide Web Consortium (www.w3.org), often abbreviated as W3C, and directed by the Web's inventor, Tim Berners-Lee. Its aim is to convince the Web community of the importance of universality while attempting to satisfy its thirst for beautiful looking pages. Their work is to remove existing fences and guard against new ones.
The W3C's membership list (http://www.w3.org/Consortium/Member/List) reads like a Who's Who of movers and shakers on the Web and includes such longtime players as Apple (of iTunes and iPod fame, among others), Adobe (maker of important Web design tools like Photoshop), America Online (which absorbed Netscape Communications as it imploded in 1998), Opera (makers of the Opera browsers for desktop computers and handhelds), and Microsoft (whose Internet Explorer browser took over the #1 spot from Netscape and hasn't looked back), and more modern companies like Google (the ultra-popular search engine and more), and Mozilla Corporation (makers of the popular open source Firefox browser that is the first competition Explorer has had in years). The idea is that these companies come together and agree on the standards and then try to differentiate their products with speed, ease of use, price, or other features that don't turn the Web back into the tower of Babel.
HTML 3.2: Standardization begins
The W3C's first answer to the Web's balkanization was to standardize the proprietary extensions, including some in the official specifications and removing others altogether. At the same time, they encouraged browser manufacturers to support the official HTML specifications as closely as possible, so that a Web page written to standards would behave the same way across browsers.
HTML 4 and CSS
The W3C's next move was much more bold. The old version of HTML joined content, structure, and formatting instructions in a single document, which was simple but not very powerful. The W3C envisioned a new system in which formatting instructions could be saved separately from the content and structure and thus could be applied not just to a single paragraph or Web page but to an entire site, if so desired. So, in the new HTML version 4, the W3C marked most of the formatting elements for future removal from the specifications. These elements would henceforth be deprecated, and their use discouraged. At the same time, they created the new system for formatting instructionscalled Cascading Style Sheets, or CSSto fill the gap.
The original specifications for Cascading Style Sheets mostly limited themselves to recreating HTML effects. CSS Level 2, published in 1998 and lightly updated to Level 2.1 in 2006, however, brought new capabilities, in particular the ability to position elements on a Web page with great precision. CSS could now not only recreate HTML's formatting, it could make professional looking layouts.
However, between proprietary extensions and just plain sloppy code, HTML pages themselves were still a mess. Most browsers bent over backward to accommodate them, always in slightly different ways, which just made the whole situation worse. And there was still no standard system for adding new features. HTML was simply not a sturdy enough platform upon which to build. The W3C decided that we all needed a bit of structure. Their answer was XML, or Extensible Markup Language.
XML and XHTML
From the outside, XML looks a lot like HTML, complete with tags, attributes, and values. But rather than serving as a language just for creating Web pages, XML is a language for creating other languages. You can use XML to design your own custom markup language which you can then use to format your documents. Your custom markup language will contain tags that actually describe the data that they contain.
And herein lies XML's power: If a tag identifies data, that data becomes available for other tasks. A software program can be designed to extract just the information that it needs, perhaps join it with data from another source, and finally output the resulting combination in another form for another purpose. Instead of being lost on an HTML-based Web page, labeled information can be reused as often as necessary.
But, as always, power comes with a price. XML is not nearly as lenient as HTML. To make it easy for XML parserssoftware that reads and interprets XML dataXML demands careful attention to upper- and lowercase letters, quotation marks, closing tags, and other minutiae. In addition, there are billions of Web pages already written in HTML and millions of servers and browsers that already know how to read them.
The solution was quite clever. The W3C rewrote HTML in XML. This new language had all of the features of HTML and thus could be understood by every browser on the planet. And since its entire lexicon came from HTML, people who already knew HTML only had to learn a few basic syntax rules before they were off and running. And at the same time, since it used XML's syntax, it gained all of XML's power and flexibility and was a perfect foundation for CSS. It was to be the best of both worlds. It's name? XHTML.