+// bool mp_util::build_simple_explain(mp::Package &package,
+// mp::odr &odr_en,
+// Z_SRW_PDU *sru_pdu_res,
+// SRUServerInfo sruinfo,
+// Z_SRW_explainRequest const *er_req)
+// {
+// // z3950'fy recordPacking
+// int record_packing = Z_SRW_recordPacking_XML;
+// if (er_req && er_req->recordPacking && 's' == *(er_req->recordPacking))
+// record_packing = Z_SRW_recordPacking_string;
+
+// // building SRU explain record
+// std::string explain_xml
+// = mp_util::to_string(
+// "<explain xmlns=\"" + xmlns_explain + "\">\n"
+// " <serverInfo protocol='SRU'>\n"
+// " <host>")
+// + sruinfo.host
+// + mp_util::to_string("</host>\n"
+// " <port>")
+// + sruinfo.port
+// + mp_util::to_string("</port>\n"
+// " <database>")
+// + sruinfo.database
+// + mp_util::to_string("</database>\n"
+// " </serverInfo>\n"
+// "</explain>\n");
+
+
+// // preparing explain record insert
+// Z_SRW_explainResponse *sru_res = sru_pdu_res->u.explain_response;
+
+// // inserting one and only explain record
+
+// sru_res->record.recordPosition = odr_intdup(odr_en, 1);
+// sru_res->record.recordPacking = record_packing;
+// sru_res->record.recordSchema = (char *)xmlns_explain.c_str();
+// sru_res->record.recordData_len = 1 + explain_xml.size();
+// sru_res->record.recordData_buf
+// = odr_strdupn(odr_en, (const char *)explain_xml.c_str(),
+// 1 + explain_xml.size());