X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=doc%2Fzoom.xml;h=c371520e2878e36b2b610b73c8a530a9a5ade4b0;hp=e231da780366fc9e7a40f28a5d168371866ab8aa;hb=def193190d4979179d1d216c77f9d61d8865e234;hpb=48b7a077523d1a86c16c9f536c56d6439fe90f42
diff --git a/doc/zoom.xml b/doc/zoom.xml
index e231da7..c371520 100644
--- a/doc/zoom.xml
+++ b/doc/zoom.xml
@@ -9,8 +9,6 @@ ZOOM_connection_save_apdu_wrbuf
ZOOM_diag_str(error)
ZOOM_resultset_record_immediate(s, pos)
ZOOM_resultset_cache_reset(r)
-ZOOM_resultset_sort(r, sort_type, sort_spec)
-ZOOM_resultset_sort1(r, sort_type, sort_spec)
ZOOM_options_set_callback(opt, function, handle)
ZOOM_options_create_with_parent2(parent1, parent2)
ZOOM_options_getl(opt, name, len)
@@ -422,6 +420,9 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn)
int ZOOM_query_cql(ZOOM_query s, const char *str);
int ZOOM_query_sortby(ZOOM_query q, const char *criteria);
+
+ int ZOOM_query_sortby2(ZOOM_query q, const char *strategy,
+ const char *criteria);
Create query objects using ZOOM_query_create
@@ -434,17 +435,55 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn)
More query types will be added in future versions of &yaz;, such as
CCL to RPN-mapping, native CCL query,
etc. In addition to a search, a sort criteria may be set. Function
- ZOOM_query_sortby specifies a
- sort criteria using the same string notation for sort as offered by
- the YAZ client.
+ ZOOM_query_sortby enables Z39.50 sorting and
+ it takes sort criteria using the same string notation as
+ yaz-client's sort command.
- Protocol behavior
-
- The query object is just an interface for the member Query
- in the SearchRequest. The sortby-function is an interface to the
- sortSequence member of the SortRequest.
-
-
+
+ ZOOM_query_sortby2 is similar to
+ ZOOM_query_sortby but allows a strategy for
+ sorting. The reason for the strategy parameter is that some
+ protocols offers multiple ways of performing sorting.
+ For example, Z39.50 has the standard sort, which is performed after
+ search on an existing result set.
+ It's also possible to use CQL in Z39.50 as the query type and use
+ CQL's SORTBY keyword. Finally, Index Data's
+ Zebra server also allows sorting to be specified as part of RPN (Type 7).
+
+
Result sets
@@ -611,6 +650,31 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn)
+
+
+ Z39.50 Result-set Sort
+
+ void ZOOM_resultset_sort(ZOOM_resultset r,
+ const char *sort_type, const char *sort_spec);
+
+ int ZOOM_resultset_sort1(ZOOM_resultset r,
+ const char *sort_type, const char *sort_spec);
+
+
+ ZOOM_resultset_sort and
+ ZOOM_resultset_sort1 both sort an existing
+ result-set. The sort_type parameter is not use. Set it to "yaz".
+ The sort_spec is same notation as ZOOM_query_sortby and identical
+ to that offered by yaz-client's
+ sort command.
+
+
+ These functions only work for Z39.50. Use the more generic utility
+
+ ZOOM_query_sortby2
+ for other protocols (and even Z39.50).
+
+ Z39.50 Protocol behavior