XML is a standard for data mark-up backed by the World Wide Web Consortium, which has been branded "the universal format for structured documents and data on the Web." The entire XML suite of standards, models, and processing technologies have been under development since 1998 with the initial XML specification, and has since been augmented by several additional supporting standards and notes that have brought XML to its current rich state. In fact, though XML is undeniably a richly specified technology, it has retained its simplicity and the entire XML platform can be profiled as follows:
 From the W3C Web Site at http://www.w3c.org/XML/
 These (fewer than 10) points are based on the W3C's "XML in 10 Points" available from http://www.w3c.org/XML/1999/XML-in-10-points
XML is for Structuring Data
Structured data includes things like spreadsheets, address books, configuration parameters, financial transactions, and technical drawings. XML is a set of rules for designing text formats that support the developer in creating structured data. Though it vaguely resembles source code, XML is not a programming language, but it does make it easy for a computer to generate data, read data, and ensure that the data structure is unambiguous. XML avoids common pitfalls in language design. It is extensible, platform-independent, supports internationalization and localization, and is fully Unicode-compliant.
XML Resembles HTML
Like HTML, XML makes use of tags (words surrounded by angle brackets, "<" and ">") and attributes (of the form name="value"). While HTML specifies what each tag and attribute means and often how the text between them will render in a browser, XML uses the tags only to delimit pieces of data and leaves the interpretation of the data completely to the application that reads it.
XML is Human Readable, but Humans Shouldn't Read It
Programs that produce structured data often store that data on disk, using either a binary or text format. An advantage of a textual format is that it allows people, if necessary, to look at the data without the program that produced it, using tools like text editors. XML files are text files that people shouldn't have to read, but may read as and when the need arises. Care must be taken when manually editing XML since its rules are strict. A forgotten tag or an attribute without quotes makes an XML document unusable. The official XML specification forbids applications from trying to second-guess the creator of a broken XML file; if the file is broken, an application has to stop and report an error.
XML is Verbose
Since XML is a textual format and uses tags to delimit the data, XML files are nearly always larger than comparable binary formats. That was a conscious decision by the designers of XML. The advantages of a text format are evident, and the disadvantages can usually be compensated at a different level by compression applications. In addition, the transfer of XML across networks can be hastened by communication protocols such as those used in modems protocols and HTTP/1.1, which can compress data on-the-fly, saving bandwidth almost as effectively as a binary format.
XML is a Suite of Technologies
XML 1.0 is the specification that defines what "tags" and "attributes" are. Beyond that specification, the XML family is a growing set of modules that offer useful services to accomplish important and frequently demanded tasks.
XML is Modular
XML allows you to define a new document format by combining and reusing other formats. Since two formats developed independently may have elements or attributes with the same name, care must be taken when combining those formats. To eliminate name confusion when combining formats, XML provides a namespace mechanism that is supported in all XML-based technologies.
XML is License-Free, Platform-Independent, and Well-Supported
By choosing XML as the basis for Web services, we gain access to a large and growing community of tools and techniques on which to develop value. Basing Web services on XML is similar to basing a database strategy on SQL you still have to build your own database, programs, and procedures that manipulate it, but there are many tools and commodity components available to help. Furthermore, since XML is license-free, Web services can be built without incurring royalty payments.
While a full discussion of the subject of XML is beyond the scope of this book, before delving deeply into developing Web services it is imperative that at least the basics of XML and XML processing are understood. Although some of the XML detail inherent in developing Web services can be abstracted by toolkits, the increasing popularity of XML at the application level means that any learning at this point will, in addition to accelerating the rate of understanding Web services technology, be generally valuable in day-to-day development. That said, it's time to get acquainted with some fundamental XML concepts.