The Beauty of XML Applications
Part of XML's tremendous appeal comes from the large body of so-called applications that XML supports. In this case, the term application doesn't mean an executable body of code, but rather a formal representation of some particular kind of document or data such as a genealogy or patient medical records in XML form. When that formal representation (which represents the structure, syntax, and content model for any document that invokes it) is used to capture data or other content, it provides the self-describing capabilities that make XML data so attractive and useful in real executable applications. Thus, an XML application represents an application of XML to represent data or document content, rather than something that runs on a computer. Today there are plenty of real executable applications that know how to read XML document descriptions. This permits such applications to read, parse, and manipulate XML data, and helps to explain why so many organizations find XML nearly irresistible it's fast, easy, and incredibly efficient for them to do so.
For one thing, XML defines a nearly ideal medium for data exchange across platforms, organizational boundaries, or real applications. As long as the "emitting" side of a communication can create XML data according to some standard document description, or can provide an explicit document description along with its XML data, the "receiving" side of a communication should be able to use that description to ingest the XML data without difficulty. This explains why for applications involving e-business, e-commerce, document exchange, and all kinds of data delivery, XML is well on its way to becoming the primary technology for data representation.
For another thing, XML's open-ended and extensible characteristics give it the ability to evolve as data or document contents change and develop over time. This means that existing bodies of data can be easily transformed into new forms and formats. It also means that it's simple to integrate additional information into existing data collections simply by merging an existing data stream with a new data stream. Of course, this also means that a revised document description must include whatever containers, attributes, relationships, and constraints are needed to accommodate new information as that transformation occurs. This same capability also enables organizations to take standard XML applications and customize them to accommodate specific proprietary or private information that they may collect, in addition to the base defined by the underlying standard. Here again, a simple transformation can easily take the private form of such data and strip out custom information for outsiders, leaving only the elements and contents mandated by its underlying standard.