X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=src%2Ffilter_zoom.cpp;h=3fd7e04081654c4996e1e119870914c29d34a0c9;hb=371a02c325fb4d7cdfc24a81c38e36077382e648;hp=b0597ce1b72fb4aed06c1c5ab72d4f4a87f4491a;hpb=c45ae107e9836f63beb51f5792f9963f221781ef;p=metaproxy-moved-to-github.git diff --git a/src/filter_zoom.cpp b/src/filter_zoom.cpp index b0597ce..3fd7e04 100644 --- a/src/filter_zoom.cpp +++ b/src/filter_zoom.cpp @@ -59,11 +59,12 @@ namespace metaproxy_1 { std::string authentication; std::string cfAuth; std::string cfProxy; - std::string cfSubDb; + std::string cfSubDB; std::string udb; std::string target; std::string query_encoding; std::string sru; + std::string sru_version; std::string request_syntax; std::string element_set; std::string record_encoding; @@ -404,9 +405,9 @@ yf::Zoom::SearchablePtr yf::Zoom::Impl::parse_torus_record(const xmlNode *ptr) s->cfProxy = mp::xml::get_text(ptr); } else if (!strcmp((const char *) ptr->name, - "cfSubDb")) + "cfSubDB")) { - s->cfSubDb = mp::xml::get_text(ptr); + s->cfSubDB = mp::xml::get_text(ptr); } else if (!strcmp((const char *) ptr->name, "contentConnector")) @@ -425,6 +426,10 @@ yf::Zoom::SearchablePtr yf::Zoom::Impl::parse_torus_record(const xmlNode *ptr) { s->sru = mp::xml::get_text(ptr); } + else if (!strcmp((const char *) ptr->name, "SRUVersion")) + { + s->sru_version = mp::xml::get_text(ptr); + } else if (!strcmp((const char *) ptr->name, "queryEncoding")) { @@ -892,10 +897,10 @@ yf::Zoom::BackendPtr yf::Zoom::Frontend::get_backend_from_databases( out_names[no_out_args] = "proxy"; out_values[no_out_args++] = odr_strdup(odr, proxy.c_str()); } - if (sptr->cfSubDb.length()) + if (sptr->cfSubDB.length()) { out_names[no_out_args] = "subdatabase"; - out_values[no_out_args++] = odr_strdup(odr, sptr->cfSubDb.c_str()); + out_values[no_out_args++] = odr_strdup(odr, sptr->cfSubDB.c_str()); } } else @@ -960,6 +965,9 @@ yf::Zoom::BackendPtr yf::Zoom::Frontend::get_backend_from_databases( { url = "http://" + sptr->target; b->set_option("sru", sptr->sru); + + if (sptr->sru_version.length()) + b->set_option("sru_version", sptr->sru_version); } else {