Most web developers are intimately familiar with HTML, which is a language for presenting information on-screen so that it can be read by a human. A new markup language is rapidly gaining attention, however. XML allows for the presentation of information which can be read by a computer program. It is likely that the future of web development includes the creation of increasing numbers of programs, which make intelligent use of the data on XML-based web pages. And Java is a very good language for creating those programs.

There has been a close relationship between Java and XML since the earliest mention of XML. John Bosak of Sun Microsystems, Chair of the XML Working Group has said that “XML gives Java something to do” (Web Techniques, pg. 43). Since there has been a decision to provide a standard Java API for manipulating XML (WT Pg. 43), the use of Java to manipulate XML documents is likely to continue, and increase over time.

XML stands for eXtensible Markup Language. It looks a lot like HTML. In fact, both HTML and XML are commonly viewed as a subset of SGML (Standard Generalized Markup Language). SGML is very complicated, a fact that has lead to it`s failure to gain widespread usage. HTML, its greatly simplified descendant, has been a resounding success, but it is beginning to demonstrate some significant limitations.

XML is in between these markup languages in terms of complexity. It is more complex than HTML, but still significantly less complex than SGML. (Dynamic Web Publishing Unleashed - Pg. 744-745). It is essentially an attempt to define a common ground between HTML and SGML.

Like SGML, XML is a metalanguage for defining markup languages. XML allows you to define your own markup language consisting of new`tags` which you can use to encode the information in your web documents far more precisely than can be done with HTML. XML is not a replacement for HTML. It is, instead, a supplement to HTML. Also read more here —