Fitting over 200 countries into a unified format is no easy task. Countries have
very different address formats. Some use street names for addressing, others don't.
Some use island names, others don't. The format must allow for all these different types of addresses while at the same time provide a consistent and easy to use format.
There are different ways to model data, including hierarchical, relational and object-oriented. Address data is hierarchical in nature (a country has cities, a city has streets and a street has premises) so a hierarchical model is the most natural fit.
The international standard XML (eXtensible Markup Language) is well suited to represent hierarchical data and has therefore been adopted for the actual implementation of the data model.
This specification is designed to describe the address elements, not be specific about the formatting and presentation of the address. However, formatting at the higher -composite- levels is preserved since these are either a single string value or an ordered list of multiple strings. This is only considered a side effect at this time; there is no detailed specification of how to handle and preserve white space in these strings. In the Netherlands for example, it is customary to use double spacing between postal code and town on a single line, but naturally this only works with fixed-width fonts. New lines are made explicit by only defining composite elements at line-level."