+ else if ((*p)->which == Z_SRW_explain_request)
+ {
+ Z_SRW_explainRequest *req = (*p)->u.explain_request;
+ xmlNodePtr ptr = xmlNewChild(pptr, 0, "explainRequest", 0);
+ xmlNsPtr ns_srw = xmlNewNs(ptr, ns, "zs");
+
+ xmlSetNs(ptr, ns_srw);
+ }
+ else if ((*p)->which == Z_SRW_explain_response)
+ {
+ Z_SRW_explainResponse *res = (*p)->u.explain_response;
+ xmlNodePtr ptr = xmlNewChild(pptr, 0, "explainResponse", 0);
+ xmlNsPtr ns_srw = xmlNewNs(ptr, ns, "zs");
+
+ xmlSetNs(ptr, ns_srw);
+
+ if (res->explainData_buf)
+ {
+ xmlNodePtr t = xmlNewTextLen(res->explainData_buf,
+ res->explainData_len);
+ xmlAddChild(ptr, t);
+ }
+ }