-/* $Id: pazpar2.c,v 1.41 2007-01-17 15:32:39 quinn Exp $ */
+/* $Id: pazpar2.c,v 1.43 2007-01-18 16:21:23 quinn Exp $ */
#include <stdlib.h>
#include <stdio.h>
if (r->presentStatus && !*r->presentStatus && r->records)
{
yaz_log(YLOG_DEBUG, "Records in search response");
- cl->records += *r->numberOfRecordsReturned;
ingest_records(cl, r->records);
}
cl->state = Client_Idle;
yaz_log(YLOG_FATAL, "Unknown native_syntax in normalize_record");
exit(1);
}
+
+ if (global_parameters.dump_records)
+ {
+ fprintf(stderr, "Input Record (normalized):\n----------------\n");
+#if LIBXML_VERSION >= 20600
+ xmlDocFormatDump(stderr, rdoc, 1);
+#else
+ xmlDocDump(stderr, rdoc);
+#endif
+ }
+
for (m = rprofile->maplist; m; m = m->next)
{
xmlDoc *new;
res = nmem_malloc(se->nmem, sizeof(struct record));
res->next = 0;
+ res->client = cl;
res->metadata = nmem_malloc(se->nmem,
sizeof(struct record_metadata*) * service->num_metadata);
memset(res->metadata, 0, sizeof(struct record_metadata*) * service->num_metadata);
newm->next = 0;
if (md->type == Metadata_type_generic)
{
- char *p;
- newm->data.text = nmem_strdup(se->nmem, value);
- for (p = newm->data.text + strlen(newm->data.text) - 1;
- p > newm->data.text && strchr(" ,/.", *p); p--)
- *p = '\0';
+ char *p, *pe;
+ for (p = value; *p && isspace(*p); p++)
+ ;
+ for (pe = p + strlen(p) - 1;
+ pe > p && strchr(" ,/.:([", *pe); pe--)
+ *pe = '\0';
+ newm->data.text = nmem_strdup(se->nmem, p);
}
else if (md->type == Metadata_type_year)