Hmm. The end goal confuses me a bit. Xml is just a text format of brackets and attributes - it is just a representation of data. The interesting things are what we can do with such a simple and transferable representation of data.
Yet, I want to be as far away from working in angle brackets as I can be. If something can be so defined such that it can work as a message to disparate systems, that's great. As a language it is verbose and ugly, as a representation on the wire or in memory
it is often overly large.
To compare XML and OO in some way doesn't make much sense to me. XML must always be parsed, and interpreted in some fashion. As the parsers and intepreters move up the complexity value chain it becomes more invisible to the end user and may seem to take on
magical properties. But, XML is still just that text representation.
XML can be treated as an object when it is translated into an object system. This doesn't allow us to remove the object system.
Am I missing something in this interpretation?