Extensible Markup Language (XML) is a meta-markup language that provides a format for describing structured data. This facilitates more precise declarations of content and more meaningful search results across multiple platforms. In addition, XML will enable a new generation of Web-based data viewing and manipulation applications.
In XML you can define an unlimited set of tags. While HTML tags can be used to display a word in bold or italic, XML provides a framework for tagging structured data. An XML element can declare its associated data to be a retail price, a sales tax, a book title, the amount of precipitation, or any other desired data element. As XML tags are adopted throughout an organization's intranet, and by others across the Internet, there will be a corresponding ability to search for and manipulate data regardless of the applications within which it is found. Once data has been located, it can be delivered over the wire and presented in a browser such as Internet Explorer 5 in any number of ways, or it can be handed off to other applications for further processing and viewing.
XML provides a structural representation of data that has proved broadly implementable and easy to deploy. Industrial implementations in the Standard Generalized Markup Language (SGML) community and elsewhere demonstrate the intrinsic quality and industrial strength of XML's tree-structured data format.
XML is a subset of SGML that is optimized for delivery over the Web; it is defined by the World Wide Web Consortium (W3C ), ensuring that structured data will be uniform and independent of applications or vendors. This resulting interoperability is kick-starting a new generation of business and electronic-commerce Web applications.
XML, which provides a data standard that can encode the content, semantics, and schemata for a wide variety of cases ranging from simple to complex, can be used to mark up the following:
Once the data is on the client desktop, it can be manipulated, edited, and presented in multiple views, without return trips to the server. Servers can now become more scalable, due to lower computational and bandwidth loads. Also, since data is exchanged in the XML format, it can be easily merged from different sources.
XML is valuable to the Internet, as well as to large corporate intranet environments because it provides interoperability using a flexible, open, standards-based format, with new ways of accessing legacy databases and delivering data to Web clients. Applications can be built more quickly, are easier to maintain, and can easily provide multiple views on the structured data.
The power and beauty of XML is that it maintains the separation of the user interface from the structured data. Hypertext Markup Language (HTML) specifies how to display data in a browser, XML defines the content. For example, in HTML you use tags to tell the browser to display data as bold or italic; in XML you only use tags to describe data, such as city name, temperature, and barometric pressure. In XML, you use stylesheets such as Extensible Style Language (XSL) and Cascading Style Sheets (CSS) to present the data in a browser. XML separates the data from the presentation and the process, enabling you to display and process the data as you wish by applying different style sheets and applications.
This separation of data from presentation enables the seamless integration of data from diverse sources. Customer Information, purchase orders, research results, bill payments, medical records, catalog data, and other information can be converted to XML on the middle tier, allowing data to be exchanged online as easily as HTML pages display data today. Data encoded in XML can then be delivered over the Web to the desktop. No retrofitting is necessary for legacy information stored in mainframe databases or documents, and because HTTP is used to deliver XML over the wire, no changes are required for this function.
XML documents are easy to create; if you are familiar with HTML, you can quickly learn to create one. In this example, XML is used to describe a weather report:
<weather-report> <date>March 25, 1998</date> <time>08:00</time> <area> <city>Seattle</city> <state>WA</state> <region>West Coast</region> <country>USA</country> </area> <measurements> <skies>partly cloudy</skies> <temperature>46</temperature> <wind> <direction>SW</direction> <windspeed>6</windspeed> </wind> <h-index>51</h-index> <humidity>87</humidity> <visibility>10</visibility> <uv-index>1</uv-index> </measurements> </weather-report>
You can display this data in many different ways, or hand it off to other applications for further processing. You can also apply a style sheet to display this information in a browser.