XML’s Strengths and Weaknesses

    May 16, 2006

The Extensible Markup Language (XML) is a markup language for creating special-purpose markup languages, capable of describing many different kinds of data.

In other words: XML is a way of describing data and an XML file can contain the data too, as in a database.It is a simplified subset of Standard Generalized Markup Language (SGML). Its primary purpose is to facilitate the sharing of data across different systems, particularly systems connected via the internet.

Features of XML :

XML provides a text-based means to describe and apply a tree-based structure to information. At its base level, all information manifests as text, interspersed with markup that indicates the information’s separation into a hierarchy of character data, container-like elements, and attributes of those elements. In this respect, it is similar to the LISP programming language’s S-expressions, which describe tree structures wherein each node may have its own property list.

Strengths :

* its simultaneously human- and machine-readable format;

* it has support for Unicode, allowing almost any information in any human language to be communicated;

* the ability to represent the most general computer science data structures: records, lists and trees;

* the self-documenting format that describes structure and field names as well as specific values;

* the strict syntax and parsing requirements that allow the necessary parsing algorithms to remain simple, efficient, and consistent.

XML is also heavily used as a format for document storage and processing, both online and offline, and offers several benefits:

* its robust, logically-verifiable format is based on international standards; the hierarchical structure is suitable for most (but not all) types of documents;

* it manifests as plain text files, unencumbered by licenses or restrictions;

* it is platform-independent, thus relatively immune to changes in technology;

* it and its predecessor, SGML, have been in use since 1986, so there is extensive experience and software available.

Weaknesses :

* Its syntax is fairly verbose and partially redundant. This can hurt human readability and application efficiency, and yields higher storage costs. It can also make XML difficult to apply in cases where bandwidth is limited, though compression can reduce the problem in some cases. This is particularly true for multimedia applications running on cell phones and PDAs which want to use XML to describe images and video.

* Parsers should be designed to recurse arbitrarily nested data structures and must perform additional checks to detect improperly formatted or differently ordered syntax or data (this is because the markup is descriptive and partially redundant, as noted above). This causes a significant overhead for most basic uses of XML, particularly where resources may be scarce – for example in embedded systems. Furthermore, additional security considerations arise when XML input is fed from untrustworthy sources, and resource exhaustion or stack overflows are possible.

* Some consider the syntax to contain a number of obscure, unnecessary features born of its legacy of SGML compatibility. However, an effort to settle on a subset called “Minimal XML” led to the discovery that there was no consensus on which features were in fact obscure or unnecessary.

* The basic parsing requirements do not support a very wide array of data types, so interpretation sometimes involves additional work in order to process the desired data from a document. For example, there is no provision in XML for mandating that “3.14159” is a floating-point number rather than a seven-character string. XML schema languages add this functionality.

* Modelling overlapping (non-hierarchical) data structures requires extra effort.

* Mapping XML to the relational or object oriented paradigms is often cumbersome.

* Some have argued that XML can be used for data storage only if the file is of low volume, but this is only true given particular assumptions about architecture, data, implementation, and other issues.

Add to | DiggThis | Yahoo! My Web


Buy Computer Books from Halfvalue.com [Best shopping site for buying Books online]

Other useful websites: Halfvalue.co.uk, Lookbookstores.com