IMHO
January 21, 1998
John Swenson
MSDN Online
One of the hottest topics at Microsoft's Web TechEd conference in January was Extensible Markup Language (XML), a technology that many believe is destined to become the universal language for describing and transferring data on the Web. The last time we wrote about XML at MSDN Online in early December, we focused on how developers can tag documents with XML (see the article "XML: One Hot Abbreviation, but What Does It Mean?"). Once tagged, these documents are capable of describing themselves and the data they contain to Microsoft Internet Explorer 4.0 or another XML-enabled application.
It's a mistake to focus too heavily on XML's role as a document markup language, however—you could miss the technology's main benefit: XML's ability to describe and deliver data. "Everyone in the universe, it seems, regards XML as a way of marking up documents," explains Adam Denning, group program manager of Microsoft's XML team. "That is certainly useful . . . but we also believe in XML as data. In other words, as a way of moving data from one place to another."
XML could become a universal technology for transferring data between applications, Denning predicts, just as Hypertext Markup Language (HTML) has become a universal technology for displaying information on the Web. "The key message we want to get across is that XML is to data what HTML is to display," he says. "XML is by no means a competitor to HTML."
Said another way, XML complements, not replaces, HTML. While HTML is all about defining how information is displayed, XML has nothing to do with display. XML is all about describing information. For example, an HTML tag might define the color or font size of a word, but it says nothing about the actual meaning of the word. An XML tag can describe the meaning of any word or term—identifying it as a person's name, a product name, date, or whatever. The descriptions can be as specific as a developer chooses to make them.
Users can even build their own XML vocabularies (hence the "Extensible" in XML). An automotive trade group, for example, could build a specialized XML vocabulary of automotive terms, and then tag its data with those terms. Microsoft is working with various industries to help them create their own XML vocabularies, Denning says.
After a set of data has been described with XML, Internet Explorer 4.0 can parse the information and display it as HTML. An XSL (Extensible Stylesheet Language) processor handles the translation to HTML. (Microsoft recently posted a technology preview version of the Microsoft XSL processor on the XML Web site at http://www.microsoft.com/xml/xsl/msxsl-f.htm.)
It's important to understand that XML data is handled completely apart from the user interface, says Tom Johnston, a group product manager at Microsoft. An easy way to visualize this is to think of pouring XML data into your HTML forms, he explains. The forms may change for different users, but they all access the same set of XML data, allowing users to process and display that data in many different ways.
Developers who want to create the most sophisticated and powerful Web applications should consider using XML in conjunction with Dynamic HTML, Johnston advises. Dynamic HTML provides a state-of-the-art technology to design the user interface of a Web application, while XML provides a state-of-the-art way to access data.
There are still technical challenges to be solved before XML is ready for everyone, Denning says, such as how to let users locate and use XML information published on the Web. Microsoft and other members of the World Wide Web Consortium (W3C) are working to develop solutions to these problems and implement them in the group's final XML specification. (The W3C issued an early proposed recommendation on December 8, 1997 for XML 1.0; see the W3C Web site at http://w3c.org/Press/XML-PR.)
Developers who want to learn more about XML can visit the Microsoft XML Web page (http://www.microsoft.com/xml/) or the W3C XML Web page (http://www.w3.org/XML/). Denning's team has created a downloadable demo of a Web site that uses XML to host an online auction, complete with live bids viewable by all the Web participants. There's also an extensive description of how Microsoft's developers built the XML demo.
Despite XML's newness, the technology is rapidly gathering momentum. "XML is big," Denning says. "Everyone's talking about it. There's so much to it, and so many ways it can be used." Because so many developers are interested in XML and yet so few really understand it yet, there's a big opportunity for XML education—books, seminars, and articles—to take off the way HTML education did, he says.
He encourages developers who want to get an early start with XML to take their existing information, whether stored in documents or databases, and begin to mark it up using XML tags. If you don't want to do this all by hand, consider using some of the first XML tools, which were announced at Internet World in December. (See the Microsoft Press Pass Web site http://www.microsoft.com/corpinfo/press/1997/Dec97/xmlmompr.htm for more information.)
Although the XML specification is still not complete and there is a need for many more XML tools, developers have enough information to get started today with this new technology. As you do, think about XML as a way to move data around the Web, between different Web-enabled applications.
The ultimate promise of XML, Denning says, is that it will allow Web publishers to provide users with information they find more meaningful. Once the technology has matured and Web publishers have created rich sets of data described by XML, users will find it easier to extract the information they want.
Comments? Send us e-mail.