Tänd Taklampan Först

There are some common desirable properties of data representation formats. Readability by humans is one such desire. Readability by computers is another one, which somehow contradicts the first one. Portability across platforms is one. Efficiency and compactness is another one that contradicts portability.

A binary format can be very computer-friendly, and very efficient, but it is usually not human readable, and it is often not easily portable due to encoding issues and integer byte orders. S-expressions are human readable and comparably easy for a computer to parse, JavaScript Object Notation is a bit harder to parse for computers but offers a bit more structure for the human to use. However, these formats have the usual encoding issuses and they are not very efficient (of course they can be gzipped).
XML is neither human-readable in its current form, nor is it simple to parse it by computers, nor is it compact and efficient, and portability is given in theory, but in practice there are a lot of fallacies. Yes, I do not like XML. I do not like most of the modern web-standards at all, because most of them just appear not to be thought through. That does not mean that I would be able to do everything better from scratch, it just means that there are a lot of well payed people out there who invented all of that crap.

However, during my time as an admin in the data center of my university department, I gained at least a little expierience with software - though of course not as much as someone working at a huge company for years - and that little expierience tells me to always look at what software can rather than what it cannot do, when really trying to build something. You will find deficiencies in every abstraction layer you have to work with. And you cannot build any realistic project completely from scratch, you have to rely on things others have done so far.

Now, XMLRPC is a standard for doing remote procedure calls over HTTP via an XML substandard. It can be called via default AJAX APIs from the browser, and it can be exported by a lot of languages, even Common Lisp has a library for exporting functions. So yes, it is a standard that bases on XML, and even apart from that it has its own deficiencies (like no default mechanism for null-values). But it gives an acceptable infrastructure for simple remote procedure calls. And for everything more complicated, you will use a specialized format, anyway.

That is why I like XMLRPC. It is a stupid standard, and actually, I would be able to come up with something better in, say, 20 minutes. But that is not the point.