XML can express, or model, many types of data structures, including structures that are similar to relational data, hierarchical data and loosely structured data. The use of XML as a support for the databases on the mentioned company's web site to track shipment and orders is based on many factors, and the logic behind this markup language is substantial in the success of this implementation. XML is described mostly in terms of a set of rules that define how sequences of characters are to be used so that an XML processor can process an XML document without throwing errors and that also define the physical structure, expressed as entities. But XML documents also have a logical structure that is expressed by the nesting of elements and the presence of attributes on selected elements. The highly flexible document structure means that the programmer can model many types of data, resulting for modeling both highly flexible structured data that can be stored in a relational database.
Binary files play an important role in data storage because they are very compact for any given amount of data to be stored. Compactness of storage is critically important for any type of situation involving computers, so binary files are specific to a particular application. New types of data storage must be easy to create and maintain, not just compact. XML plays a part in a process of making data easier to structure and describe. Data structures that can be easily modified or adapted, together with processors that access data contained in those structures, make it easier to create, maintain, and modify data storage than when using binary files alone. (Watt, 2003)
XML provides a cleaner, more consistent framework for expressing structured data. In part, this improvement relies on the fact that meaningful element type names can be created for each element in a XML document. Additionally, by appropriately nesting XML elements, logical relationships