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 Topic: www.xml-rpc.com Msg #: 2736 (In response to 947) Prev/Next: 2735 / 2737
From: John Cowan, cowan@locke.ccil.org on the xml-dev list:I have read the XML-RPC specification with great interest. I have the following issues with it:
- 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.
- 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.
- 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.
- 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.
- 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.