+ struct conf_service *service = 0; /* no service (yet) */
+
+ if (r->content_len && content_type &&
+ !yaz_strcmp_del("text/xml", content_type, "; "))
+ {
+ xmlDoc *doc = xmlParseMemory(r->content_buf, r->content_len);
+ xmlNode *root_n;
+ if (!doc)
+ {
+ error(rs, PAZPAR2_MALFORMED_SETTING, 0);
+ return;
+ }
+ root_n = xmlDocGetRootElement(doc);
+ service = service_create(c->server, root_n);
+ xmlFreeDoc(doc);
+ if (!service)
+ {
+ error(rs, PAZPAR2_MALFORMED_SETTING, 0);
+ return;
+ }
+ }
+