rem: { if (soap_send_raw(soap, " ", 1) || soap_send(soap, name))
add: { if (soap_send2(soap, " ", name))
context: soap_attribute(struct soap *soap, const char *name, const char *value){/**/#ifdef WITH_DOM  if ((soap->mode & SOAP_XML_DOM) && soap->dom)  { register struct soap_dom_attribute *a = (struct soap_dom_attribute*)soap_malloc(soap, sizeof(struct soap_dom_attribute));    a->next = soap->dom->atts;    a->nstr = NULL;    a->name = soap_strdup(soap, name); /* check EOM */    a->data = soap_strdup(soap, value); /* check EOM */    a->wide = NULL;    soap->dom->atts = a;    return SOAP_OK;  }#endif/**/#ifndef WITH_LEAN  if (soap->mode & SOAP_XML_CANONICAL)  { if (soap_set_attr(soap, name, value))      return soap->error;  }  else#endif  { if (soap_send_raw(soap, " ", 1)     || soap_send(soap, name))      return soap->error;    if (value)      if (soap_send_raw(soap, "=\"", 2)       || soap_string_out(soap, value, 1)       || soap_send_raw(soap, "\"", 1))        return soap->error;  }  return SOAP_OK;}