X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=doc%2Fzoom.xml;h=8c9986987880cd9153ce1cc8e3999681c7f2f2cb;hp=29f95147462815dcf1320b4b8b4ab0b64b80412e;hb=d72929b7de6221054feb6a220dc72289b0f3e03d;hpb=21f7c16c6b1b694405dbc1760d3d6cb3caac38f6 diff --git a/doc/zoom.xml b/doc/zoom.xml index 29f9514..8c99869 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 @@ -34,7 +34,15 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) 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. + 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). Using the facility for embedding + options in target strings, a connection can be forced to use SRU + rather the SRW (the default) by prefixing the target string with + sru=get,, like this: + sru=get,http://sru.miketaylor.org.uk:80/sru.pl @@ -75,7 +83,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. @@ -116,7 +124,7 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) key=value sequences, each of which represents an option to be set into the connection structure before the - protocol-level connection is forged and the initialisation + protocol-level connection is forged and the initialization handshake takes place. This facility can be used to provide authentication credentials, as in host-strings such as: user=admin,password=halfAm4n,tcp:localhost:8017/db @@ -154,7 +162,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 +261,20 @@ 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 + + sru_version + SRU/SRW version. Should be 1.1, or + 1.2. This is , prior to connect, the version + to offer (highest version). And following connect (in fact + first operation), holds the negotiated version with the server + (same or lower version). + 1.2
@@ -278,7 +301,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,7 +340,8 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) API cannot tell the outcome (yet). - SRU Protocol behavior + + SRU Protocol behavior The SRU protocol doesn't feature an Inititialize Request, so the connection phase merely establishes a TCP/IP connection @@ -363,7 +388,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 +439,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 @@ -460,6 +486,13 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) If this option isn't set, the ZOOM module will automatically allocate a result set name. default + + rpnCharsetCharacter set for RPN terms. + If this is set, ZOOM C will assume that the ZOOM application is + running UTF-8. Terms in RPN queries are then converted to the + rpnCharset. If this is unset, ZOOM C will not assume any encoding + of RPN terms and no conversion is performed. + none
@@ -478,7 +511,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 +557,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,7 +609,7 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) to specify one elementSetName option rather than three. - + SRU Protocol behavior Current version of &yaz; does not take advantage of a result set id @@ -623,13 +657,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 +690,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 @@ -709,6 +752,12 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) const char *. + schema + The schema of the record is returned + as a C null-terminated string. Return type is + const char *. + + render The record is returned in a display friendly format. Upon completion buffer is returned @@ -758,7 +807,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,7 +827,8 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) now. - SRU Protocol behavior + + SRU Protocol behavior The ZOOM driver for SRU treats records returned by a SRU server as if they where Z39.50 records with transfer syntax XML and @@ -794,14 +845,16 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) - The Scan interface is Z39.50 only. SRW version 1.0 does not - support this. + The Scan interface is supported for both Z39.50 and SRU. ZOOM_scanset ZOOM_connection_scan(ZOOM_connection c, const char *startpqf); + ZOOM_scanset ZOOM_connection_scan1(ZOOM_connection c, + ZOOM_query q); + size_t ZOOM_scanset_size(ZOOM_scanset scan); const char * ZOOM_scanset_term(ZOOM_scanset scan, size_t pos, @@ -857,8 +910,15 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) @attr 1=4 @attr 6=2 "science o" + + + The ZOOM_connecton_scan1 is a newer and + more generic alternative to ZOOM_connection_scan + which allows to use both CQL and PQF for Scan. + - ZOOM Scan Set Options +
+ ZOOM Scan Set Options @@ -886,12 +946,19 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) scanStatusAn integer indicating the Scan Status of last scan. 0 + + rpnCharsetCharacter set for RPN terms. + If this is set, ZOOM C will assume that the ZOOM application is + running UTF-8. Terms in RPN queries are then converted to the + rpnCharset. If this is unset, ZOOM C will not assume any encoding + of RPN terms and no conversion is performed. + none
- 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 +967,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 +1036,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 @@ -1003,10 +1071,19 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) create + waitAction + + Wait action for package. Possible values: + wait, waitIfPossible, + dontWait or dontReturnPackage. + + waitIfPossible + + targetReference Target Reference. This is part of the response as returned - by the server. Read it after a succesful operation. + by the server. Read it after a successful operation. none @@ -1014,13 +1091,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 +1137,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 @@ -1088,7 +1167,7 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) recordDelete, elementUpdate. - specialUpdate + specialUpdate (recordInsert for updateVersion=1 which does not support specialUpdate) recordIdOpaque @@ -1117,19 +1196,49 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) Database from connection object Default + + correlationInfo.note + Correlation Info Note (string) + none + + + correlationInfo.id + Correlation Info ID (integer) + none + + + elementSetName + Element Set for Record + none + + + updateVersion + Record Update version which holds one of the values + 1, 2 or 3. Each version has a distinct OID: + 1.2.840.10003.9.5 + (first version) , + 1.2.840.10003.9.5.1 + (second version) and + 1.2.840.10003.9.5.1.1 + (third and + newest version). + + 3 +
- 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 +1261,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 +1291,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 +1378,8 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) (integer) for the last event. - ZOOM Event IDs +
+ ZOOM Event IDs