XML can be a huge syntactical burden, I'll grant you. I read an article about an IBM standard for representing JSON in XML. Madness.
What XML does excel at is representing complex hierarchical data. The way Moya does forms (https://github.com/moyaproject/sociallinks/blob/master/socia...) and models (https://github.com/moyaproject/sociallinks/blob/master/socia...) is actually quite terse, IMO. Especially if you consider the amount of encapsulation in those declarations. Forms for instance, know how to render, validate, and apply themselves.
Slightly more contentious is Moya Code which is a high level language expressed in XML. But it does mean that code and data can be mixed in a fairly effortless way. As a language, Moya Code is actually quite similar to Python. Not surprising since I'm a Python guy.
Here is a loop to print the numbers 1 to 10 in Python and Moya Code:
for i in range(1,11):
<for src="1...10" dst="i">
The extra characters are offset somewhat by the fact that moya tags are very high-level. Imagine if your code to render a page was factored out so that at the top level was barely a dozen function calls and conditions. That's what views in Moya Code tend towards.
Moya's expressions also cut down on lines of code. The following gets the current price of Bitcoin from a web service:
I could go on, at great length. I've only waited 4 years to talk about it.