I think the biggest irony of XML is that it's an extensible and human-readably language, or metalanguage if you will, and therefore, to avoid unreadable path notation, the whole extensibility is sacrificed in the name of micro-formats like XPath.
In a way XML should probably have been a double-effort between an extensible binary language (like EXI) and tools that provide domain-editing support for things like XPath without sacrificing their extensibility. That would also allow one to completely disregard attributes. And probably comments and processing instructions, CDATA sections, etc. Still, XML has been a God-send and we should all thank James Clark et al on a daily basis but microformats are a misunderstanding. Maybe a binary Lisp.
It's like structured editors were a bad thing, even if only provided very basic structure: we all need to be able to read everything in notepad. I think this is a huge mistake. It has meant XML was human readable from the outside, but is at odds with its own design goals.
Now as for W3C XML Schema, well it just isn't very nice to work with. But you get used to it. It's probably influenced by the shape-mismatch situation, what LINQ was designed to address.