Note that there are some explanatory texts on larger screens.

plurals
  1. POWhat is the benefit of XML-RPC over plain XML?
    text
    copied!<p>My company has been using <a href="http://en.wikipedia.org/wiki/XML-RPC" rel="noreferrer">XML-RPC</a> for a while, but lately I'm wondering what the benefit is of XML-RPC compared to plain XML. Firstly, it's horrible "obese", consider:</p> <pre><code>&lt;struct&gt; &lt;member&gt; &lt;name&gt;ROOM_ID&lt;/name&gt; &lt;value&gt; &lt;int&gt;1&lt;/int&gt; &lt;/value&gt; &lt;/member&gt; &lt;member&gt; &lt;name&gt;CODE&lt;/name&gt; &lt;value&gt; &lt;string&gt;MR-101&lt;/string&gt; &lt;/value&gt; &lt;/member&gt; &lt;member&gt; &lt;name&gt;NAME&lt;/name&gt; &lt;value&gt; &lt;string&gt;Math Room&lt;/string&gt; &lt;/value&gt; &lt;/member&gt; &lt;member&gt; &lt;name&gt;CAPACITY&lt;/name&gt; &lt;value&gt; &lt;int&gt;30&lt;/int&gt; &lt;/value&gt; &lt;/member&gt; &lt;/struct&gt; </code></pre> <p>Compared to this:</p> <pre><code>&lt;room&gt;&lt;ROOM_ID&gt;1&lt;/ROOM_ID&gt;&lt;CODE&gt;MR-101&lt;/CODE&gt; &lt;NAME&gt;Math Room&lt;/NAME&gt;&lt;CAPACITY&gt;30&lt;/CAPACITY&gt;&lt;/room&gt; </code></pre> <p>Or even this:</p> <pre><code>&lt;room ROOM_ID=1 CODE=MR-101 NAME=”Math Room” CAPACITY=30 /&gt; </code></pre> <p>Secondly, XML-RPC seems fairly widespread but not quite ubiquitous and I'm not that impressed with the support for it in C++ and PHP. I've had problems with all the libraries that I tried in both languages.</p> <p>Thirdly, it seems to me that I could make remote procedure calls with plain XML as easily as with XML-RPC. {(9/9/2009): Every language has libraries for serialising language-level objects into XML. Both XML and XML-RPC require application-level schemas to be defined, for example, how the fields should be spelt, but neither needs any additional schema to be defined. Many people make RPC calls with plain XML.}</p> <p>So what is the value-add of XML-RPC?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload