X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=doc%2Fzoom.xml;h=0d0bac22e8eed7f713924c01375a8159adb74f37;hb=3822378d7b75625b8b879025b22bffeb5483b788;hp=122ce58561506fbdbf3f9a68524f9f8bc15add9d;hpb=f0fff840ae259cab0b1c17297c4367172a7cd229;p=yaz-moved-to-github.git diff --git a/doc/zoom.xml b/doc/zoom.xml index 122ce58..0d0bac2 100644 --- a/doc/zoom.xml +++ b/doc/zoom.xml @@ -20,7 +20,7 @@ ZOOM_options_set_int(opt, name, value) ZOOM_connection_scan1 (ZOOM_connection c, ZOOM_query startterm) ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) --> - + ZOOM &zoom; is an acronym for 'Z39.50 Object-Orientation Model' and is @@ -32,9 +32,13 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) - A recent addition to &yaz; is SRW support. You can now make - SRW ZOOM connections by specifying scheme http:// - for the hostname for a connection. + A recent addition to &yaz; is SRU support. You can now make + SRU ZOOM connections by specifying scheme http:// + for the hostname for a connection. The dialect of SRU used is + specified by the value of the connection's sru + option, which may be SRU over HTTP GET (get), + SRU over HTTP POST (post) or SRW (SRU over + SOAP) (soap). @@ -75,7 +79,7 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) protocol behavior, that describes how the API maps to the Z39.50 protocol. - Connections + Connections The Connection object is a session with a target. @@ -108,7 +112,7 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) You can prefix the host with a scheme followed by colon. The default scheme is tcp (Z39.50 protocol). - The scheme http selects SRW over HTTP. + The scheme http selects SRU over HTTP. You can prefix the scheme-qualified host-string with one or more @@ -154,7 +158,8 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) ZOOM_connection_option_getl returns the value for an option given by key. - ZOOM Connection Options +
+ ZOOM Connection Options @@ -252,6 +257,12 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) mediumSetElementSetName The element set name to be for medium-sized result sets. none + + init_opt_search, init_opt_present, init_opt_delSet, etc. + After a successful Init, these options may be interrogated to + discover whether the server claims to support the specified + operations. + none
@@ -278,7 +289,8 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) of ZOOM_connection_error that is capable of returning name of diagnostic set in dset. - Z39.50 Protocol behavior + + Z39.50 Protocol behavior The calls ZOOM_connection_new and ZOOM_connection_connect establishes a TCP/IP @@ -316,14 +328,15 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) API cannot tell the outcome (yet). - SRW Protocol behavior + + SRU Protocol behavior - The SRW protocol doesn't feature an Inititialize Request, so + The SRU protocol doesn't feature an Inititialize Request, so the connection phase merely establishes a TCP/IP connection with the SOAP service. Most of the ZOOM connection options do not - affect SRW and they are ignored. However, future versions + affect SRU and they are ignored. However, future versions of &yaz; might honor implementationName and put that as part of User-Agent header for HTTP requests. @@ -363,7 +376,7 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) sort criteria using the same string notation for sort as offered by the YAZ client. - Protocol behavior + Protocol behavior The query object is just an interface for the member Query in the SearchRequest. The sortby-function is an interface to the @@ -414,7 +427,8 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) The number of hits also called result-count is returned by function ZOOM_resultset_size. - ZOOM Result set Options +
ZOOM Result set Options @@ -478,7 +492,8 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) Read searchresult.size to determine the number of items. -
Search Info Report options +
Search Info Report Options @@ -523,7 +538,7 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn)
- + Z39.50 Protocol behavior The creation of a result set involves at least a SearchRequest @@ -575,23 +590,23 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) to specify one elementSetName option rather than three. - - SRW Protocol behavior + + SRU Protocol behavior Current version of &yaz; does not take advantage of a result set id - returned by the SRW server. Future versions might do, however. + returned by the SRU server. Future versions might do, however. Since, the ZOOM driver does not save result set IDs any - present (retrieval) is transformed to a SRW SearchRetrieveRequest + present (retrieval) is transformed to a SRU SearchRetrieveRequest with same query but, possibly, different offsets. - Option schema specifies SRW schema + Option schema specifies SRU schema for retrieval. However, options elementSetName and preferredRecordSyntax are ignored. Options start and count - are supported by SRW. + are supported by SRU. The remaining options piggyback, smallSetUpperBound, @@ -602,18 +617,18 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) unsupported. - SRW supports CQL queries, not PQF. + SRU supports CQL queries, not PQF. If PQF is used, however, the PQF query is transferred anyway using non-standard element pQuery in - SRW SearchRetrieveRequest. + SRU SearchRetrieveRequest. - Unfortunately, SRW does not define a database setting. Hence, + Unfortunately, SRU does not define a database setting. Hence, databaseName is unsupported and ignored. However, the path part in host parameter for functions ZOOM_connecton_new and ZOOM_connection_connect acts as a - database (at least for the &yaz; SRW server). + database (at least for the &yaz; SRU server).
@@ -623,13 +638,16 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) created from result sets. - void ZOOM_resultset_records (ZOOM_resultset r, - ZOOM_record *recs, - size_t start, size_t count); - ZOOM_record ZOOM_resultset_record (ZOOM_resultset s, size_t pos); + void ZOOM_resultset_records(ZOOM_resultset r, + ZOOM_record *recs, + size_t start, size_t count); + ZOOM_record ZOOM_resultset_record(ZOOM_resultset s, size_t pos); - const char *ZOOM_record_get (ZOOM_record rec, const char *type, - size_t *len); + const char *ZOOM_record_get(ZOOM_record rec, const char *type, + size_t *len); + + int ZOOM_record_error(ZOOM_record rec, const char **msg, + const char **addinfo, const char **diagset); ZOOM_record ZOOM_record_clone (ZOOM_record rec); @@ -653,6 +671,12 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) If no record could be obtained NULL is returned. + Error information for a record can be checked with + ZOOM_record_error which returns non-zero + (error code) if record is in error, called Surrogate + Diagnostics in Z39.50. + + Function ZOOM_resultset_records retrieves a number of records from a result set. Parameter start and count specifies the range of records to @@ -729,7 +753,7 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) xml The record is returned in XML if possible. - SRW/SRU and Z39.50 records with transfer syntax XML are + SRU and Z39.50 records with transfer syntax XML are returned verbatim. MARC records are returned in MARCXML @@ -758,7 +782,8 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) render; charset=marc8,iso-8859-1 - Z39.50 Protocol behavior + + Z39.50 Protocol behavior The functions ZOOM_resultset_record and ZOOM_resultset_records inspects the client-side @@ -777,9 +802,10 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) now. - SRW Protocol behavior + + SRU Protocol behavior - The ZOOM driver for SRW treats records returned by a SRW server + The ZOOM driver for SRU treats records returned by a SRU server as if they where Z39.50 records with transfer syntax XML and no element set name or database name. @@ -858,7 +884,8 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) - ZOOM Scan Set Options +
+ ZOOM Scan Set Options @@ -891,7 +918,7 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn)
- Extended Services + Extended Services ZOOM offers an interface to a subset of the Z39.50 extended services as well as a few privately defined ones: @@ -900,35 +927,35 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) Z39.50 Item Order (ILL). - See . + See . Record Update. This allows a client to insert, modify or delete records. - See . + See . Database Create. This a non-standard feature. Allows a client to create a database. - See . + See . Database Drop. This a non-standard feature. Allows a client to delete/drop a database. - See . + See . Commit operation. This a non-standard feature. Allows a client to commit operations. - See . + See . @@ -969,7 +996,8 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) package type to be sent. - Extended Service Common Options +
+ Extended Service Common Options @@ -1014,13 +1042,14 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn)
- Item Order + Item Order For Item Order, type must be set to itemorder in ZOOM_package_send. - Item Order Options +
+ Item Order Options @@ -1059,13 +1088,14 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) - Record Update + Record Update For Record Update, type must be set to update in ZOOM_package_send. -
Record Update Options +
+ Record Update Options @@ -1123,13 +1153,14 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) - Database Create + Database Create For Database Create, type must be set to create in ZOOM_package_send. -
Database Create Options +
+ Database Create Options @@ -1152,13 +1183,14 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn)
- Database Drop + Database Drop For Database Drop, type must be set to drop in ZOOM_package_send. - Database Create Options +
+ Database Drop Options @@ -1181,14 +1213,15 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn)
- Commit Operation + Commit Operation For Commit, type must be set to commit in ZOOM_package_send. - Protocol behavior + + Protocol behavior All the extended services are Z39.50-only. @@ -1267,7 +1300,8 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) (integer) for the last event. - ZOOM Event IDs +
+ ZOOM Event IDs @@ -1324,10 +1358,18 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) - - +