char *maximumTerms = 0;
char *responsePosition = 0;
const char *facetLimit = 0;
+ const char *facetStart = 0;
+ const char *facetSort = 0;
Z_SRW_extra_arg *extra_args = 0;
#endif
char **uri_name;
responsePosition = v;
else if (!strcmp(n, "facetLimit"))
facetLimit = v;
+ else if (!strcmp(n, "facetStart"))
+ facetStart = v;
+ else if (!strcmp(n, "facetSort"))
+ facetSort = v;
else if (!strcmp(n, "extraRequestData"))
; /* ignoring extraRequestData */
else if (n[0] == 'x' && n[1] == '-')
sr->u.request->packing = recordPacking;
sr->u.request->stylesheet = stylesheet;
yaz_sru_facet_request(decode , &sr->u.request->facetList,
- &facetLimit);
+ &facetLimit, &facetStart, &facetSort);
yaz_sru_decode_integer(decode, "maximumRecords", maximumRecords,
&sr->u.request->maximumRecords,
srw_pdu->u.request->resultSetTTL);
{
const char *facetLimit = 0;
+ const char *facetStart = 0;
+ const char *facetSort = 0;
yaz_sru_facet_request(encode, &srw_pdu->u.request->facetList,
- &facetLimit);
+ &facetLimit, &facetStart, &facetSort);
yaz_add_name_value_str(encode, name, value, &i, "facetLimit",
(char *) facetLimit);
+ yaz_add_name_value_str(encode, name, value, &i, "facetStart",
+ (char *) facetStart);
+ yaz_add_name_value_str(encode, name, value, &i, "facetSort",
+ (char *) facetSort);
}
break;
case Z_SRW_explain_request:
Z_SRW_extra_arg **ea = &sr->extra_args;
yaz_uri_to_array(extra_args, odr, &name, &val);
+ /** append rather than override */
+ while (*ea)
+ ea = &(*ea)->next;
while (*name)
{
*ea = (Z_SRW_extra_arg *) odr_malloc(odr, sizeof(**ea));