Function: soap-resolve-references-for-xs-simple-type
soap-resolve-references-for-xs-simple-type is a byte-compiled function
defined in soap-client.el.gz.
Signature
(soap-resolve-references-for-xs-simple-type TYPE WSDL)
Documentation
Replace names in TYPE with the referenced objects in the WSDL.
This is a specialization of soap-resolve-references for
soap-xs-simple-type objects.
See also soap-wsdl-resolve-references.
Source Code
;; Defined in /usr/src/emacs/lisp/net/soap-client.el.gz
(defun soap-resolve-references-for-xs-simple-type (type wsdl)
"Replace names in TYPE with the referenced objects in the WSDL.
This is a specialization of `soap-resolve-references' for
`soap-xs-simple-type' objects.
See also `soap-wsdl-resolve-references'."
(let ((namespace (soap-element-namespace-tag type)))
(when namespace
(let ((nstag (car (rassoc namespace (soap-wsdl-alias-table wsdl)))))
(when nstag
(setf (soap-element-namespace-tag type) nstag)))))
(let ((base (soap-xs-simple-type-base type)))
(cond
((soap-name-p base)
(setf (soap-xs-simple-type-base type)
(soap-wsdl-get base wsdl 'soap-xs-type-p)))
((soap-xs-type-p base)
(soap-resolve-references base wsdl))
((listp base)
(setf (soap-xs-simple-type-base type)
(mapcar (lambda (type)
(cond ((soap-name-p type)
(soap-wsdl-get type wsdl 'soap-xs-type-p))
((soap-xs-type-p type)
(soap-resolve-references type wsdl)
type)
(t ; signal an error?
type)))
base)))
(t (error "Oops"))))
(dolist (attribute (soap-xs-type-attributes type))
(soap-resolve-references attribute wsdl))
(dolist (attribute-group (soap-xs-type-attribute-groups type))
(soap-resolve-references attribute-group wsdl)))