Function: soap-xs-parse-attribute-group
soap-xs-parse-attribute-group is a byte-compiled function defined in
soap-client.el.gz.
Signature
(soap-xs-parse-attribute-group NODE)
Documentation
Construct a soap-xs-attribute-group from NODE.
Source Code
;; Defined in /usr/src/emacs/lisp/net/soap-client.el.gz
(defun soap-xs-parse-attribute-group (node)
"Construct a `soap-xs-attribute-group' from NODE."
(let ((node-name (soap-l2wk (xml-node-name node))))
(cl-assert (eq node-name 'xsd:attributeGroup)
"expecting xsd:attributeGroup, got %s" node-name)
(let ((name (xml-get-attribute-or-nil node 'name))
(id (xml-get-attribute-or-nil node 'id))
(ref (xml-get-attribute-or-nil node 'ref))
attribute-group)
(when (and name ref)
(soap-warning "name and ref set for attribute group %s" node-name))
(setq attribute-group
(make-soap-xs-attribute-group :id id
:name name
:reference (and ref (soap-l2fq ref))))
(when (not ref)
(dolist (child (xml-node-children node))
;; Ignore whitespace.
(unless (stringp child)
;; Ignore optional annotation.
;; Ignore anyAttribute nodes.
(cl-case (soap-l2wk (xml-node-name child))
(xsd:attribute
(push (soap-xs-parse-attribute child)
(soap-xs-type-attributes attribute-group)))
(xsd:attributeGroup
(push (soap-xs-parse-attribute-group child)
(soap-xs-attribute-group-attribute-groups
attribute-group)))))))
attribute-group)))