See AtomApi, XmlRpcDiscussion
Proposal: Recommend we do not base AtomApi on XmlRpc
-
Serious historical confusion about whether string types supported encodings other than just ASCII. This has recently been resolved--it turns out the spec contradicted itself in various parts and it has finally been updated to indicate that it does allow for all encodings supported by XML. The only lingering issue is the unknown impact of this change on a portion of the XmlRpc toolkits implemented prior to the clarification--there may be an appreciable number of ASCII only toolkits in circulation. In all likelihood, the onus is on these toolkits to now bring themselves into spec if they are not.
-
Counterargument: Non-issue. The spec clearly says that XML-RPC is XML.
-
Counter-counterargument: Many XML-RPC implementations do not support Unicode properly, regardless of whether "it's XML" or not. This recent sudden change from ASCII to Unicode may have made problems worse, not better, because non-compliant implementations will silently corrupt data.
-
Another counter-counterargument: the problem is not "XmlRpc spec does not support Unicode". The problem is that, for 4 years now, there are been significant confusion about whether the XmlRpc spec supported Unicode. This confusion was not helped by early implementations which did not, in fact, support Unicode. The confusion has now been clarified in the spec, but it could be years until all implementations are brought into compliance.
-
Doesn't support SSL.
-
Counterargument: HTTPS is HTTP.
-
Counter-counterargument: only a small minority of XML-RPC toolkits can use HTTPS right now.
-
Doesn't support timezones. Quote from spec: "What timezone should be assumed for the dateTime.iso8601 type? UTC? localtime? Don't assume a timezone. It should be specified by the server in its documentation what assumptions it makes about timezones."
-
Counterargument: Non-issue. Your spec would have to say how to do that no matter what encoding you use.
-
Counter-counterargument: In the current state of the AtomApi, an entry would be used to post, and entries have a well-defined date format. So the point of the counter-argument is actually invalid.
-
So where's the problem? If entries have a well-defined date format, does it matter that XML-RPC's native date type is a "naive" date type?
-
Does XML-RPC properly support namespaces? See comment at Sam's. If not, I think it's a non-starter
-
According to Brent Simmons XML-RPC implementations do not understand XML namespaces nor do they understand elements with attributes as payload.
-
How is this really a relevant complaint? XML-RPC is about shipping typed data structures, not arbitrary XML snippets.
-
Counter-point: Because XML-RPC is about simply typed datastructures and has little recourse for keeping key collisions from occuring, it's simply not suited for Echo's needs, which are grown out of a need for deep extensibility.
-
Counter-counter-point: You can achieve extensibility in data structures by using nested structs (dictionaries). The MetaWeblogAPI uses this approach.
-
So you want to reinvent XML namespaces, over RPC, over XML? Why not just use straight XML in the first place?
What would an XML-RPC rendition of this look like? [SamRuby RefactorOk]
-
[AdriaanTijsseling RefactorOk] Sure, here's a sample XML-RPC call: SampleXmlrpc.
-
[FredrikLundh] That's slightly misleading: that "sample call" is the wire format, not what an client or server programmer using an XML-RPC toolkit would see. If you use XML-RPC, you'll work with a bunch of native objects; if you use a RESTian protocol, you'll deal with XML. How easy that is depends on your toolkit.
-
[SamRuby, RefactorOk] Frederik: care to document what XML-RPC would look with look like with the toolkit of your choice? I'd like to see how things currently expressed as attribute and namespaces in this would appear to an application programmer.
-
[RogerBenningfield, RefactorOk] Sam: I'm not Frederick, but I've added such an example to SampleXmlrpc
-
[GeorgBauer, RefactorOk] I added a python example to the SampleXmlrpc with a more datastructure oriented touch. There is a first take at automatic mapping from the XML representation to the data structures, so maybe XML-RPC can be a minor protocol without much work to be done on the spec side.
-
[JY, RefactorOk] Sam, it's indeed strange that some people want to see the XML part of the XML-RPC approach?! Check my explanation here. About the namespace issue, there is an RFC here.