X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fpazpar2_config.c;h=2ceda8150278ed0154916b88c7bd0dc8f8df6951;hb=31f6b164fd451ef9254545a38e7b6ffc1543854f;hp=4762aa5a35b03fd9b7743ee18b8082f64d6b61f9;hpb=6639c716d02ad6117ae6053ca18160dbb21a404a;p=pazpar2-moved-to-github.git diff --git a/src/pazpar2_config.c b/src/pazpar2_config.c index 4762aa5..2ceda81 100644 --- a/src/pazpar2_config.c +++ b/src/pazpar2_config.c @@ -26,9 +26,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include #include -#include -#include -#include #include #include @@ -412,9 +409,19 @@ static int parse_metadata(struct conf_service *service, xmlNode *n, else sortkey_offset = -1; - if (xml_mergekey && strcmp((const char *) xml_mergekey, "no")) + if (xml_mergekey) { - mergekey_type = Metadata_mergekey_yes; + if (!strcmp((const char *) xml_mergekey, "required")) + mergekey_type = Metadata_mergekey_required; + else if (!strcmp((const char *) xml_mergekey, "optional")) + mergekey_type = Metadata_mergekey_optional; + else if (!strcmp((const char *) xml_mergekey, "no")) + mergekey_type = Metadata_mergekey_no; + else + { + yaz_log(YLOG_FATAL, "Unknown value for mergekey: %s", xml_mergekey); + return -1; + } } @@ -433,6 +440,7 @@ static int parse_metadata(struct conf_service *service, xmlNode *n, xmlFree(xml_termlist); xmlFree(xml_rank); xmlFree(xml_setting); + xmlFree(xml_mergekey); (*md_node)++; return 0; } @@ -822,17 +830,13 @@ static struct conf_server *server_create(struct conf_config *config, return server; } -xsltStylesheet *conf_load_stylesheet(struct conf_service *service, - const char *fname) +WRBUF conf_get_fname(struct conf_service *service, const char *fname) { struct conf_config *config = service->server->config; WRBUF w = wrbuf_alloc(); - xsltStylesheet *s; conf_dir_path(config, w, fname); - s = xsltParseStylesheetFile((xmlChar *) wrbuf_cstr(w)); - wrbuf_destroy(w); - return s; + return w; } static struct conf_targetprofiles *parse_targetprofiles(NMEM nmem, @@ -1067,7 +1071,11 @@ struct conf_config *config_create(const char *fname, int verbose) { yaz_log(YLOG_LOG, "Configuration %s after include processing", fname); +#if LIBXML_VERSION >= 20600 xmlDocFormatDump(yaz_log_file(), doc, 0); +#else + xmlDocDump(yaz_log_file(), doc); +#endif } r = parse_config(config, n); }