Criticism of XML

Commentators have offered various positive or negative critiques of XML (Extensible Markup Language), suggesting circumstances where XML provides both advantages and potential disadvantages.
Advantages
* XML provides a basic syntax that can be used to share information between different kinds of computers, different applications, and different organizations. XML data is stored in plain text format. This software- and hardware-independent way of storing data allows different incompatible systems to share data without needing to pass them through many layers of conversion. This also makes it easier to expand or upgrade to new operating systems, new applications, or new browsers, without losing any data.
* With XML, your data can be available to all kinds of "reading machines" (handheld computers, voice machines, news feeds, etc), and make it more available for blind people, or people with other disabilities. especially with tabular data.
* The redundancy may affect application efficiency through higher storage, transmission and processing costs.
* XML syntax is verbose, especially for human readers, relative to other alternative 'text-based' data transmission formats.
* The hierarchical model for representation is limited in comparison to an object oriented graph.
* Expressing overlapping (non-hierarchical) node relationships requires extra effort.
* XML namespaces are problematic to use and namespace support can be difficult to correctly implement in an XML parser.
* XML is commonly depicted as "self-documenting" but this depiction ignores critical ambiguities.
* The distinction between content and attributes in XML seems unnatural to some and makes designing XML data structures harder.
* Transformations, even identity transforms, result in changes to format (whitespace, attribute ordering, attribute quoting, whitespace around attributes, newlines). These problems can make diff-ing the XML source very difficult except via Canonical XML.
* XML encourages the use of non-relational data structures (data non-normalized).
 
< Prev   Next >