diff options
| author | Thomas Fitzsimmons | 2019-07-24 04:45:07 -0400 |
|---|---|---|
| committer | Thomas Fitzsimmons | 2019-07-24 05:02:43 -0400 |
| commit | a255caf19b9a3e45472d2a2d14fa8087eea838f1 (patch) | |
| tree | 766079e58b884476444e3b4a2d46ee760ed6285c | |
| parent | b38e326eeaf1e020334797337523cf96706e865c (diff) | |
| download | emacs-a255caf19b9a3e45472d2a2d14fa8087eea838f1.tar.gz emacs-a255caf19b9a3e45472d2a2d14fa8087eea838f1.zip | |
soap-client: Allow attributes and a value
* lisp/net/soap-client.el (soap-encode-xs-basic-type): Allow
attributes and a value to be specified in the same element.
| -rw-r--r-- | lisp/net/soap-client.el | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lisp/net/soap-client.el b/lisp/net/soap-client.el index 1632ee13758..40c6e62500a 100644 --- a/lisp/net/soap-client.el +++ b/lisp/net/soap-client.el | |||
| @@ -464,8 +464,14 @@ position. | |||
| 464 | 464 | ||
| 465 | This is a specialization of `soap-encode-value' for | 465 | This is a specialization of `soap-encode-value' for |
| 466 | `soap-xs-basic-type' objects." | 466 | `soap-xs-basic-type' objects." |
| 467 | (let ((kind (soap-xs-basic-type-kind type))) | 467 | (let ((kind (soap-xs-basic-type-kind type)) |
| 468 | 468 | ;; Handle conversions of this form: | |
| 469 | ;; (Element (AttrA . "A") (AttrB . "B") "Value here") | ||
| 470 | ;; to: | ||
| 471 | ;; <ns:Element AttrA="A" AttrB="B">Value here</ns:Element> | ||
| 472 | ;; by assuming that if this is a list, it must have attributes | ||
| 473 | ;; preceding the basic value. | ||
| 474 | (value (if (listp value) (progn (car (last value))) value))) | ||
| 469 | (when (eq kind 'anyType) | 475 | (when (eq kind 'anyType) |
| 470 | (cond ((stringp value) | 476 | (cond ((stringp value) |
| 471 | (setq kind 'string)) | 477 | (setq kind 'string)) |