OntoSys  

XML-RPC Extensions

This document specifies an extension to the XML-RPC protocol as defined in the XML-RPC specification (the "spec"). We also provide a corresponding DTD.

Although UserLand owns copywrite to the spec, Dave Winer gave us explicit permission to publish separate extensions to that spec in a message on the xml-rpc list.

The specific text below was provided by Skip Montanaro <skip@pobox.com>.

<nil/> value

A <value> can also be of type <nil/> where appropriate to the application. <nil/> is a discriminated null value, such as Python's None object, Perl's undef value, or a NULL pointer in C.

Here's an example of a two-element <struct> that represents a range. The lowerBound value is an <int>. The upperBound value is <nil/>, indicating that the range has no upper bound.

<struct>
  <member>
    <name>lowerBound</name>
    <value><int>18</int></value>
  </member>
  <member>
    <name>upperBound</name>
    <value><nil/></value>
  </member>
</struct>

Note that this does not mean that <nil/> can be substituted for <int> anywhere. It is explicitly the responsibility of the server author to identify appropriate types for input parameters and return values. In the example above, if the server author has not indicated the server is prepared to accept <nil/> as an alternate to an explicit <int>, it is an error for the client to pass <nil/>. In this case the behavior of the server is undefined.


OntoSys, Inc. - 38W242 Deerpath Rd - Batavia, IL 60510
phone +1.630.879.1312 - fax +1.630.879.1370
email info@ontosys.com - www.ontosys.com
Last modified: 1970-01-01 00:00 Z.
Copyright © 1999 - 2004 by Fred Yankowski.
All rights reserved.