I don't have that many problems with XML myself, but XMPP is weird even in XML land, because it tries to do XML all the way.
For instance, it works as a constant, uninterrupted stream. You never close the document until the disconnection. Which means you absolutely have to parse it with a stream parser.
It could have been something sensible, like a document per message: "Here's 300 characters of XML document: <xml>....". But nope.
And what's up with this? https://xmpp.org/extensions/xep-0394.html
OMG, that XEP is extremely and unnecessarily complex. Just do, I don't know, markdown.
That made me remember IBM JSONx... https://www.ibm.com/docs/en/datapower-gateway/10.6.x?topic=2...