projects
/
yaz-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
facetSort, facetStart honored.
[yaz-moved-to-github.git]
/
src
/
srw.c
diff --git
a/src/srw.c
b/src/srw.c
index
ca46a44
..
17b7c39
100644
(file)
--- a/
src/srw.c
+++ b/
src/srw.c
@@
-568,6
+568,8
@@
int yaz_srw_codec(ODR o, void * vptr, Z_SRW_PDU **handler_data,
char *recordPacking = 0;
char *recordXMLEscaping = 0;
const char *facetLimit = 0;
char *recordPacking = 0;
char *recordXMLEscaping = 0;
const char *facetLimit = 0;
+ const char *facetStart = 0;
+ const char *facetSort = 0;
(*p)->which = Z_SRW_searchRetrieve_request;
req = (*p)->u.request = (Z_SRW_searchRetrieveRequest *)
(*p)->which = Z_SRW_searchRetrieve_request;
req = (*p)->u.request = (Z_SRW_searchRetrieveRequest *)
@@
-630,10
+632,17
@@
int yaz_srw_codec(ODR o, void * vptr, Z_SRW_PDU **handler_data,
else if (yaz_match_xsd_string(ptr, "stylesheet", o,
&req->stylesheet))
;
else if (yaz_match_xsd_string(ptr, "stylesheet", o,
&req->stylesheet))
;
- else if (yaz_match_xsd_string(ptr, "database", o, &req->database))
+ else if (yaz_match_xsd_string(ptr, "database", o,
+ &req->database))
;
else if (yaz_match_xsd_string(ptr, "facetLimit", o,
;
else if (yaz_match_xsd_string(ptr, "facetLimit", o,
- (char**) &facetLimit))
+ (char**) &facetLimit))
+ ;
+ else if (yaz_match_xsd_string(ptr, "facetStart", o,
+ (char**) &facetStart))
+ ;
+ else if (yaz_match_xsd_string(ptr, "facetSort", o,
+ (char**) &facetSort))
;
}
if (!req->query)
;
}
if (!req->query)
@@
-650,7
+659,8
@@
int yaz_srw_codec(ODR o, void * vptr, Z_SRW_PDU **handler_data,
{
req->recordPacking = recordPacking;
}
{
req->recordPacking = recordPacking;
}
- yaz_sru_facet_request(o, &req->facetList, &facetLimit);
+ yaz_sru_facet_request(o, &req->facetList, &facetLimit, &facetStart,
+ &facetSort);
}
else if (!xmlStrcmp(method->name, BAD_CAST "searchRetrieveResponse"))
{
}
else if (!xmlStrcmp(method->name, BAD_CAST "searchRetrieveResponse"))
{
@@
-925,8
+935,13
@@
int yaz_srw_codec(ODR o, void * vptr, Z_SRW_PDU **handler_data,
add_xsd_string(ptr, "database", req->database);
{
const char *limit = 0;
add_xsd_string(ptr, "database", req->database);
{
const char *limit = 0;
- yaz_sru_facet_request(o, &req->facetList, &limit);
+ const char *start = 0;
+ const char *sort = 0;
+ yaz_sru_facet_request(o, &req->facetList, &limit, &start,
+ &sort);
add_xsd_string(ptr, "facetLimit", limit);
add_xsd_string(ptr, "facetLimit", limit);
+ add_xsd_string(ptr, "facetStart", start);
+ add_xsd_string(ptr, "facetSort", sort);
}
}
else if ((*p)->which == Z_SRW_searchRetrieve_response)
}
}
else if ((*p)->which == Z_SRW_searchRetrieve_response)