Dare has written a good section on Dealing with the Data Access Impedance Mismatch effectively summing up the differences that developers now face when working with data and data models. This manifests itself in "Data Model Wars" where people now start to argue over the benefits of the data model X verses Y. Objects have identity XML does not, XML can handle mixed content models, objects can't, relational is beautifully simplistic, XML is overly complex...etc. It is all about the data model choice for the application - ROX - although you could prefer the XOR (eXclusive OR) acronym, since it has the connotation that if more that one data model is chosen then the output goes "low".

The .NET CLR and MSIL may have dismissed many of the languages wars between developers, arguing whether C++ was better or worst than VB only to now having more of an emphasis on data model wars, the best way to work with and represent data. As Dare points out, you cannot have your cake and easily eat it, although it is an aim within .NET to reduce this impedence mismatch to a minimum for developers, but it can never be complete ignored for all but the simplest of applications.

Although the dominant data model for storage is relational it has been a holy grail of the IT industry for decades to provide a richer mainstream data model.  There is demand for data stores which work more naturally with hierarchical, semi-structured, and graph (object) data models.  However attempts to provide hierarchical or object data stores have failed to attract broad customer bases and tend to be fragmented into many incompatible niche players.  XML represents a semi-structured data model which technologies like the DOM, XSLT, XPath, and XQuery can target in the same manner that SQL targets relational.  Already, XPath has seen far greater industry adoption that any of the previous semi-structured niche programming models. With XQuery enjoying the support of large, it is very likely that XML as the semi-structured data and programming model will succeed in the mainstream.

It is also very unlikely that semi-structured storage in the long run will be an alternative to relational, but rather there will be a continued evolution of relational model.  In other words, XML has challenged the industry to provide more flexible data models in the mainstream storage engines and industry has stepped up to the challenge by providing XML type support, such as in "Yukon". As relational DBMS evolve to the semi-structured data model, there needs to be improvement to the way developers access this data. This is ones of the main goals of the System.Xml V2 release in "Whidbey", to provide a rich XML programming model to work with virtualized XML including relation data in SQL Server.

The XML data model is very expressive in that it is able to represent structure, semi-structure and totally irregular data and being hierarchical implicitly defines the relationships between entities within its structure. This means that it is able to represent all forms of complex data be that flat, tree, recursive and graph like data.  With the growing number of applications unifying under XML based interfaces, due to decentralized data, it also promotes a loosely coupled architecture which it turn makes designs more flexible. With the advent of relational DBMS storing XML natively and better XML query languages such as XQuery, it looks like the XML data model adoption trend is set to continue across the IT industry. It will be interesting to see whether the rise of the XML data model is embraced or suppressed and how much XSD you will really have to know to survive as an application developer.