Function: soap-l2wk

soap-l2wk is a byte-compiled function defined in soap-client.el.gz.

Signature

(soap-l2wk LOCAL-NAME)

Documentation

Convert LOCAL-NAME into a well known name.

The namespace of LOCAL-NAME is looked up in the soap-well-known-xmlns table and a well known namespace tag is used in the name.

nil is returned if there is no well-known namespace for the namespace of LOCAL-NAME.

Source Code

;; Defined in /usr/src/emacs/lisp/net/soap-client.el.gz
(defun soap-l2wk (local-name)
  "Convert LOCAL-NAME into a well known name.
The namespace of LOCAL-NAME is looked up in the
`soap-well-known-xmlns' table and a well known namespace tag is
used in the name.

nil is returned if there is no well-known namespace for the
namespace of LOCAL-NAME."
  (let ((l-name-1 (if (symbolp local-name)
                      (symbol-name local-name)
                    local-name))
        namespace name)
    (cond
     ((string-match "^\\(.*\\):\\(.*\\)$" l-name-1)
      (setq name (match-string 2 l-name-1))
      (let ((ns (match-string 1 l-name-1)))
        (setq namespace (cdr (assoc ns soap-local-xmlns)))
        (unless namespace
          (error "Soap-l2wk(%s): no namespace for alias %s" local-name ns))))
     (t
      (setq name l-name-1)
      (setq namespace soap-default-xmlns)))

    (if namespace
        (let ((well-known-ns (car (rassoc namespace soap-well-known-xmlns))))
          (if well-known-ns
              (let ((well-known-name (concat well-known-ns ":" name)))
                (if (symbolp local-name)
                    (intern well-known-name)
                  well-known-name))
            nil))
      ;; if no namespace is defined, just return the unqualified name
      name)))