* Copyright (C) 1995-2007, Index Data ApS
* See the file LICENSE for details.
*
- * $Id: srw.c,v 1.56 2007-05-23 13:11:11 adam Exp $
+ * $Id: srw.c,v 1.57 2007-08-23 14:23:23 adam Exp $
*/
/**
* \file srw.c
return 1;
}
+char *yaz_negotiate_sru_version(char *input_ver)
+{
+ if (!input_ver)
+ input_ver = "1.1";
+
+ if (!strcmp(input_ver, "1.1"))
+ return "1.1";
+ return "1.2"; /* our latest supported version */
+}
+
static int yaz_srw_record(ODR o, xmlNodePtr pptr, Z_SRW_record *rec,
Z_SRW_extra_record **extra,
void *client_data, const char *ns)
{
Z_SRW_PDU **p = handler_data;
xmlNodePtr method = pptr->children;
+ char *neg_version;
while (method && method->type == XML_TEXT_NODE)
method = method->next;
*p = 0;
return -1;
}
+ neg_version = yaz_negotiate_sru_version((*p)->srw_version);
+ if (neg_version)
+ (*p)->srw_version = neg_version;
}
else if (o->direction == ODR_ENCODE)
{