}
/** \brief parse retrieval XML config */
-static int conf_retrieval(yaz_retrieval_t p, const xmlNode *ptr)
+static int conf_retrieval(yaz_retrieval_t p, const xmlNode *ptr,
+ struct yaz_record_conv_type *types)
{
struct _xmlAttr *attr;
struct yaz_retrieval_elem *el = (struct yaz_retrieval_elem *)
/* parsing internal of record conv */
el->record_conv = yaz_record_conv_create();
-
+
yaz_record_conv_set_path(el->record_conv, p->path);
- if (yaz_record_conv_configure(el->record_conv, ptr))
+ if (yaz_record_conv_configure_t(el->record_conv, ptr, types))
{
wrbuf_printf(p->wr_error, "%s",
yaz_record_conv_get_error(el->record_conv));
return 0;
}
-int yaz_retrieval_configure(yaz_retrieval_t p, const xmlNode *ptr)
+int yaz_retrieval_configure_t(yaz_retrieval_t p, const xmlNode *ptr,
+ struct yaz_record_conv_type *types)
{
yaz_retrieval_reset(p);
continue;
if (!strcmp((const char *) ptr->name, "retrieval"))
{
- if (conf_retrieval(p, ptr))
+ if (conf_retrieval(p, ptr, types))
return -1;
}
else
return 0;
}
+int yaz_retrieval_configure(yaz_retrieval_t p, const xmlNode *ptr)
+{
+ return yaz_retrieval_configure_t(p, ptr, 0);
+}
+
int yaz_retrieval_request(yaz_retrieval_t p,
const char *schema, Odr_oid *syntax,
const char **match_schema, Odr_oid **match_syntax,