• Now there you go...

    Alarms should go off when you say something like "not all data is best represented relationally."  Semi structured data is an oxymoron.  Granted, it is an oft-repeated oxymoron, but an oxymoron none the less. 

    And "hierarchical" data is something that is very rare.  Sure, most data CAN be viewed hierarchically, and we, as humans, often find it very useful to categorize things.  The problem is that once you start to manage your data in hierarchical structures, you have limited the ability of other users to view the same data in different hierarchies.  The process of categorizing data into hierarchies (taxonomy) necessarily implies assigning more "value" to some attributes and less to others; this is one of the main problems that lead to the demise (almost) of hierarchical DBMS's.  And if more practitioners weren't totally ignorant of history, XML would have been relegated to forever be a bit player, instead of being a "major feature" in SQL Server or any other DBMS.

    To qualify as "hierarchical" the data must be able to be accurately represented in one and only one hierarchy.  Otherwise, the hierarchy is merely a mechanism imposed upon the data for a specific purpose, and thus should NOT be managed in hierarchial structures (XML etc...)

    To point to XML as a means of eliminating network traffic or storage space is the very definition of irony, although I'm sure that in this case it was purely unintentional.

    /*****************

    If most people are not willing to see the difficulty, this is mainly because, consciously or unconsciously, they assume that it will be they who will settle these questions for the others, and because they are convinced of their own capacity to do this. -Friedrich August von Hayek

    *****************/