X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=include%2Fyaz%2Fsrw.h;h=b86b790e001dbd56c05d124d62e739ec2bee3e6b;hp=2fa1c1ed10ce0b74fd7952c9823725dac97e1666;hb=b51665819b5685aeeac61d30aee5e66f1af7a4cc;hpb=5242cb5a8634bfa38b9333ff7f903e718ac6e292 diff --git a/include/yaz/srw.h b/include/yaz/srw.h index 2fa1c1e..b86b790 100644 --- a/include/yaz/srw.h +++ b/include/yaz/srw.h @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2012 Index Data. + * Copyright (C) 1995-2013 Index Data. * All rights reserved. * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -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,8 @@ 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 int yaz_srw_check_content_type(Z_HTTP_Response *hres);