Make yaz_negotiate_sru_version internal
[yaz-moved-to-github.git] / include / yaz / srw.h
index 556d7e7..b86b790 100644 (file)
@@ -49,10 +49,18 @@ typedef struct {
 
 typedef struct {
     char *recordSchema;
-    int recordPacking;
+
+    int recordPacking; /* recordXMLEscaping in SRU 2.0 */
 #define Z_SRW_recordPacking_string 0
 #define Z_SRW_recordPacking_XML 1
 #define Z_SRW_recordPacking_URL 2
+
+#if 0
+    int packing;   /* recordPacking in SRU 2.0 */
+#define Z_SRW_packed   0
+#define Z_SRW_unpacked     1
+#endif
+
     char *recordData_buf;
     int recordData_len;
     Odr_int *recordPosition;
@@ -66,15 +74,8 @@ typedef struct {
 
 typedef struct {
 
-#define Z_SRW_query_type_cql  1
-#define Z_SRW_query_type_xcql 2
-#define Z_SRW_query_type_pqf  3
-    int query_type;
-    union {
-        char *cql;
-        char *xcql;
-        char *pqf;
-    } query;
+    char *queryType;
+    char *query;
 
 #define Z_SRW_sort_type_none 1
 #define Z_SRW_sort_type_sort 2
@@ -88,7 +89,10 @@ typedef struct {
     Odr_int *startRecord;
     Odr_int *maximumRecords;
     char *recordSchema;
-    char *recordPacking;
+
+    char *recordPacking;       /* recordXMLEscaping in SRU 2.0 */
+    char *packing;             /* recordPacking in SRU 2.0 */
+
     char *recordXPath;
     char *database;
     char *stylesheet;
@@ -98,6 +102,7 @@ typedef struct {
 
 typedef struct {
     Odr_int *numberOfRecords;
+    char *resultCountPrecision;
     char * resultSetId;
     Odr_int *resultSetIdleTime;
 
@@ -115,6 +120,7 @@ typedef struct {
 
 typedef struct {
     char *recordPacking;
+    char *packing;
     char *database;
     char *stylesheet;
 } Z_SRW_explainRequest;
@@ -127,12 +133,8 @@ typedef struct {
 } Z_SRW_explainResponse;
 
 typedef struct {
-    int query_type;
-    union {
-        char *cql;
-        char *xcql;
-        char *pqf;
-    } scanClause;
+    char *queryType;
+    char *scanClause;
     Odr_int *responsePosition;
     Odr_int *maximumTerms;
     char *stylesheet;
@@ -227,7 +229,7 @@ YAZ_EXPORT int yaz_srw_codec(ODR o, void * pptr,
 YAZ_EXPORT int yaz_ucp_codec(ODR o, void * pptr,
                              Z_SRW_PDU **handler_data,
                              void *client_data, const char *ns);
-YAZ_EXPORT Z_SRW_PDU *yaz_srw_get_core_v_1_1(ODR o);
+YAZ_EXPORT Z_SRW_PDU *yaz_srw_get_core_v_2_0(ODR o);
 YAZ_EXPORT Z_SRW_PDU *yaz_srw_get_pdu(ODR o, int which, const char *version);
 YAZ_EXPORT Z_SRW_PDU *yaz_srw_get(ODR o, int which);
 YAZ_EXPORT Z_SRW_recordVersion *yaz_srw_get_record_versions(ODR o, int num);
@@ -325,8 +327,6 @@ YAZ_EXPORT int yaz_sru_soap_encode(Z_HTTP_Request *hreq, Z_SRW_PDU *srw_pdu,
 YAZ_EXPORT int yaz_solr_encode_request(Z_HTTP_Request *hreq, Z_SRW_PDU *srw_pdu,
                                        ODR encode, const char *charset);
 
-YAZ_EXPORT char *yaz_negotiate_sru_version(char *input_ver);
-
 YAZ_EXPORT
 void yaz_encode_sru_extra(Z_SRW_PDU *sr, ODR odr, const char *extra_args);
 
@@ -335,7 +335,7 @@ void yaz_encode_sru_extra(Z_SRW_PDU *sr, ODR odr, const char *extra_args);
 #define YAZ_XMLNS_SRU_v1_1 "http://www.loc.gov/zing/srw/"
 #define YAZ_XMLNS_DIAG_v1_1 "http://www.loc.gov/zing/srw/diagnostic/"
 #define YAZ_XMLNS_UPDATE_v0_9 "http://www.loc.gov/zing/srw/update/"
-#define YAZ_XMLNS_SRU_v2_response "http://docs.oasis-open.org/ns/search-ws/sru*esponse"
+#define YAZ_XMLNS_SRU_v2_mask "http://docs.oasis-open.org/ns/search-ws/*"
 #define YAZ_XMLNS_SRU_v1_response "http://www.loc.gov/*"
 
 YAZ_EXPORT