Fixed bug #830: pkg-config support. YAZ installs yaz.pc for Debian
[yaz-moved-to-github.git] / doc / zoom.xml
index a50eb3e..0d0bac2 100644 (file)
@@ -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)
 -->
-<!-- $Id: zoom.xml,v 1.52 2006-10-05 08:26:58 adam Exp $ -->
+<!-- $Id: zoom.xml,v 1.55 2006-12-06 11:12:14 mike Exp $ -->
  <chapter id="zoom"><title>ZOOM</title>
   <para>
     &zoom; is an acronym for 'Z39.50 Object-Orientation Model' and is
@@ -34,7 +34,11 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn)
    <para>
     A recent addition to &yaz; is SRU support. You can now make
     SRU ZOOM connections by specifying scheme <literal>http://</literal>
-    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 <literal>sru</literal>
+    option, which may be SRU over HTTP GET (<literal>get</literal>),
+    SRU over HTTP POST (<literal>post</literal>) or SRW (SRU over
+    SOAP) (<literal>soap</literal>).
    </para>
   </note>
 
@@ -253,6 +257,12 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn)
         mediumSetElementSetName</entry><entry>
         The element set name to be for medium-sized result sets.
        </entry><entry>none</entry></row>
+      <row><entry>
+        init_opt_search, init_opt_present, init_opt_delSet, etc.</entry><entry>
+        After a successful Init, these options may be interrogated to
+       discover whether the server claims to support the specified
+       operations.
+       </entry><entry>none</entry></row>
      </tbody>
     </tgroup>
    </table>
@@ -628,13 +638,16 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn)
     created from result sets.
    </para>
    <synopsis>
-     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);
 
@@ -658,6 +671,12 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn)
     If no record could be obtained <literal>NULL</literal> is returned.
    </para>
    <para>
+    Error information for a record can be checked with
+    <function>ZOOM_record_error</function> which returns non-zero
+    (error code) if record is in error, called <emphasis>Surrogate
+     Diagnostics</emphasis> in Z39.50.
+   </para>
+   <para>
     Function <function>ZOOM_resultset_records</function> retrieves
     a number of records from a result set. Parameter <literal>start</literal>
     and <literal>count</literal> specifies the range of records to