A real common use case I see is financial systems, sending around lots of XSD documents over some protocol (HTTP / JMS) - if both ends know the schema formats - then sending / receiving an efficient binary XSD format (using longs / ints / doubles for numeric / date types on DataInput/Output) would totally rock - to the end user it'd look like XML beans or text or DOM but on the wire could be super fast & no xml parsing.
e.g. if both sides of the wire were using Java & were using XMLBeans on both sides as a bean / DOM / XPath / XQuery API, then we could take an xmlbeans schema & lazily bytecode generate a marshaller per schema to use an efficient wire format, assuming the other end knows the schema. Then the message on the wire looks like
[lots of bytes]
so the reader would load the XSD schema from the given universal URI, if its not created an xmlbeans schema & marshaller for it yet, do so, then it can decipher the bytes.
Then in those times where you're sending/receiving 100K messages per hour of the same schema, you don't have all that XML parsing to deal with - it'd use a super fast ASM.1 style binary format which to the application programmer could be marshalled into a DOM / bean / XPath / XQuery model, yet have a super-fast wire format.
We could expose these types of messages to the user via a special Destination which would accept either Text messages or Object messages - if the ObjectMessage contains an xmlbean then it'd use the super-efficient binary serialization on the wire & presenting it to the user as either an ObjectMessage, TextMessage or maybe a new XmlMessage (or all 3)