• "How do you create or consume XML from within your programs?"

    First of all, let's ban the word "consume" from any discussion of data . That includes "web services"

    Oracle has very nice conversion functionality between XML and its relational model. I'd look there first.

    "XML is a markup language technology (as it's name clearly states), and as such, it can be used for anything we want (yes, including data storage/transfer/formatting/etc... just as HTML)"

    No argument there. My point is that XML languages (I feel like the GNU/Linux guy) don't do anything but markup text well. I can buy a car with dimes. Why would I want to?