xml-rpc.el hacking
Here are the functions to mangle the new xml.el output back to a format that xml-rpc.el is more content to understand:
(defun xml-rpc-clean-string (s)
(let ((new-string (replace-regexp-in-string "^[ t\n]+" "" s)))
(if (string-equal "" new-string)
nil new-string)))
(defun xml-rpc-clean (l)
(cond ((listp l)
(let ((remain l)
elem (result nil))
(while l (let (tmp)
(setq elem (car l)
l (cdr l))
(cond ((stringp elem)
(if (setq tmp (xml-rpc-clean-string elem))
(append (list 'result)
(list tmp))))
((listp elem)
(append (list result)
(list (xml-rpc-clean elem))))
(t (append (list result)
(list elem))))))
result))
((stringp l)
;; will returning nil be acceptable ? (xml-rpc-clean-string elem))
(t l)))
When combined with:
using these functions in a couple of places (new version of xml-rpc.el will be available when it's cleaned up a little),
a patch to support "blogname" as well as "blogName" in the XML,
a patch to remove ^M characters from the XML,