In the context of a relational database, it's easy enough to express the requirement that it be searchable on any of these keys, and that the client could request delivery of any one of these tables separately. XPointers, for example, address that problem to a degree. The additional issue is delivering only that part of a markup tree. Similarly, in HTML applications, there may be reason to deliver the outline of the tree structure to accelerate visual layout, and then flow in the text and other contents. Bandwidth XML has been accused of a great many sins, but brevity is not among them.
Compression is a very reasonable counterargument to the 'leaner, meaner XML' camp.
In fact, researchers at UC Irvine have demonstrated that it's faster to load compressed syntax trees and decompress them and compile them than to load the resulting object code from disk on last year's Macs. Server designers, though, may legitimately wonder about context-switching between thousands of different open connections' separate dictionaries. Starting up a compression process, filling its buffers, and chunking out blocks all add latency to that first byte in attempting to increase effective bandwidth. On the other hand, it can fit more into that all-important first packet. The latency of the first byte may be high on the public Internet, but the second packet is just as much with TCP slow-start.