XML: Some hyperlinks minus the hype

Philip Wadler

See also PLAN-X: Programming Language Technologies for XML

XML (eXtensibe Markup Language) is a magnet for hype: the successor to HTML for web publishing, electronic data interchange, and e-commerce. In fact, XML is just a notation for trees, little more than a verbose variant of Lisp S-expressions; and a way to define tree grammars, a poor-man's BNF. Yet this simple basis has spawned scores of specialized sub-languages: for airlines, banks, and cell phones; for astronomy, biology, and chemistry; for the DOD and the IRS.

This note is a brief guide to web resources that explain XML, the associated core technologies, describes some representative applications and lists additional applications and resources.


XML is a descendant of SGML (Standardized General Markup Language), and is related to HTML (Hypertext Markup Language), another SGML descendant. XML is more general and uniform than HTML, and simpler than SGML. (Here's an Overview of SGML by the National Library of Canada.)

XML is a simple notation for describing trees. Each internal node in the tree is an element, and leaf nodes are either attributes or text. An XML document that is properly nested (so that it really describes a tree) is called well-formed. In addition, one can give a DTD (Document Type Definition) or Schema, which specifies what nodes might appear in the tree. For each element type, one can list what attributes might appear with that element, and give a regular expression specifying what elements can appear within that element. A document that satisfies the associated DTD or Schema is called valid. Each XML dialect is specified by giving its DTD or Schema. Some XML systems work with any well-formed document, while others also check that the document is valid.

General introductions to XML include:

Technical introductions to XML include:

There are many XML portals:

XML conferences:

Recommended text:

From NewsScan:

XML core technologies

W3C (the Worldwide Web Consortium) promulgates both the XML and HTML standards. There is a continuing W3C XML Activity to develop standards related to XML, some aspects of which are described below. The W3C process has a number of stages: typically a proposal goes through several working drafts, then spends a short time as a proposed recommendation before becoming a recommendation.

Some XML Applications

(Thanks to Jerome Simeon. Some entries are adapted from his Lucent internal XML page.)

Additional XML Applications and Resources

Robin Cover's XML Cover Pages have an extensive list of proposed XML Applications. The list had over 200 entries when last I looked. Here are a few:

Many vendors are investing in XML:

Some programming languages provide support for XML:

XML support in functional languages:

Some scripting languages for XML and/or embedded in XML:

There is also some material on languages for XML in my talk The Next 700 Markup Languages.

Documents and Data in XML:

Tools for editing XML:

XML is getting some coverage in the national press:

Philip Wadler,