Archive of UserLand's first discussion group, started October 5, 1998.

XML-RPC comments from John Cowan

Author:Dave Winer
Posted:2/7/1999; 5:40:02 AM
Msg #:2736 (In response to 947)
Prev/Next:2735 / 2737

From: John Cowan, on the xml-dev list:

I have read the XML-RPC specification with great interest. I have the following issues with it:

  1. There is no support for internationalization, despite the support present in XML. Since the MIME type is text/xml (as opposed to application/xml), the character encoding is US-ASCII unless overridden. No mention is made of support for character references like † (DOUBLE DAGGER).

    I would suggest supporting either "text/xml; charset='utf-8'". In addition, the references to "ASCII" in the spec should be changed.

  2. There is no support for integers longer than 32 bits.

    I suggest allowing values to be arbitrarily large, reserving the tag for 32-bit signed values. This would be an upward compatible extension for senders; receivers would have to check whether data was in fact within the 32-bit signed range if backward compatibility is desired.

  3. Floats are fairly useless because no rules exist for setting limits.

    I suggest that no receiver be allowed to reject a value which can be represented in 32-bit IEEE floats: between 1e-149 and 1e104, positive or negative, or zero.

  4. The statement that "A string can be used to encode binary data" cannot be true, because arbitrary binary data cannot appear in XML documents: there is no way to represent bytes of value 0-8, 11-12, or 14-31. This is only a documentation consideration, as the base64 element does allow the representation of arbitrary binary data.

  5. The very limited fault struct means that more complex exceptions such as Java, Python, or C++ support must be flattened into strings for return to the client, even though XML-RPC has ways of encoding more complex objects.

    I suggest allowing a struct within a fault object.

This page was archived on 6/13/2001; 4:47:47 PM.

© Copyright 1998-2001 UserLand Software, Inc.