XML is an open format whereby computers and humans can share data. XML files are not intended to be read directly by humans, rather, they are intended to be parsed by a computer. Some types of XML are converted into human-readable form (RSS feeds, for example) and others are used internally by computers and the user doesn't even know that they are there (such as bank transactions).
XML has many properties that make it attractive. For one, it is a text format, so it can be opened in any text editor for human review or modification. This property also ensures no dependency on any particular operating system, program, or hardware. It also makes the format suitable both for the transfer of data, and data storage. The structure of an XML document is self-documenting, so there is little overhead needing in developing a parser for existing documents. As a hierarchically-structured format, it is well suited to lists, records, logs, trees, and outlines. Most importantly, the XML format supports Unicode, thereby allowing data to be stored and transferred in almost every human language in existence.
XML does have its drawbacks. The strict syntax is repetitive and often redundant. Although the redundancy helps keep parsers simple, it makes for very large file sizes. Being text, however, XML files are very easily compressed. More so, in fact, than human-readable text, because of the repetitive nature of the syntax. Also, being hierarchical, browsing options are limited without advanced search tools. XML does not support various datatypes, which is of especial importance in some mathematical and programming fields. Specific XML schema languages have been developed to overcome this shortcoming.
Acronyms Programming Technology Terminology Questions