Advantages & Disadvantages of XML
Advantages of XML
1- It is a simultaneously human- and machine-readable format.
2- It supports Unicode, allowing almost any information in any written human language to be communicated.
3- It can represent the most general computer science data structures: records, lists and trees.
4- Its self-documenting format describes structure and field names as well as specific values.
5- The strict syntax and parsing requirements make the necessary parsing algorithms extremely simple, efficient, and consistent.
6- XML is heavily used as a format for document storage and processing, both online and offline.
7- It is based on international standards.
8- It allows validation using schema languages such as XSD and Schematron, which makes effective unit-testing, firewalls, acceptance testing, contractual specification and software construction easier.
9- The hierarchical structure is suitable for most (but not all) types of documents.
10- It manifests as plain text files, which are less restrictive than other proprietary document formats.
11- It is platform-independent, thus relatively immune to changes in technology.
12- Forward and backward compatibility are relatively easy to maintain despite changes in DTD or Schema.
13- Its predecessor, SGML, has been in use since 1986, so there is extensive experience and software available.
Disadvantages of XML
1- XML syntax is redundant or large relative to binary representations of similar data.
2- The redundancy may affect application efficiency through higher storage, transmission and processing costs.
3- XML syntax is too verbose relative to other alternative ‘text-based’ data transmission formats.
4- No intrinsic data type support: XML provides no specific notion of “integer”, “string”, “boolean”, “date”, and so on.
5- The hierarchical model for representation is limited in comparison to the relational model or an object oriented graph.
6- Expressing overlapping (non-hierarchical) node relationships requires extra effort.
7- XML namespaces are problematic to use and namespace support can be difficult to correctly implement in an XML parser.
8- XML is commonly depicted as “self-documenting” but this depiction ignores critical ambiguities.


