To use pure XML for describing semantics is terribly inefficient and a big step backwards. It's a step back from a logical model to a purely physical representation. XML should be used only as a data transfer mechanism for higher level languages like RDF.
I'm sincerely not convinced that XML/RDF is the best exemple of use of XML :-) Let's remember that XML's father SGML is 20 years old, and has proven its benefits since that, without RDF or any other generalized semantic description framework. Now, we're all fed up with XML here, XML there. XML gave us:
- a hint that there is a thing called SGML
- a way to format textually and quickly hierarchical data
- through this, remind us that before the object model and the relational model, we used to master the hierarchical model
- a kick in HTML's ass in order to have a strict and more usable data model
Unfortunately, that gave birth to monstruosities like XML Schema, SOAP and EAN.UCC XML among others. But, this should not prevent us from using XML where it's worth: a lightweight, easily parseable and human-readable format for hierarchical textual information.