Towards 2.0.2
[yaz-moved-to-github.git] / doc / frontend.xml
index dbd2104..cbb533a 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $Id: frontend.xml,v 1.16 2003-02-23 20:40:01 adam Exp $ -->
+<!-- $Id: frontend.xml,v 1.17 2003-04-28 21:02:16 adam Exp $ -->
  <chapter id="server"><title>Generic server</title>
   <sect1><title>Introduction</title>
    
@@ -44,8 +44,7 @@
 
    <note>
     <para>
-     The &yaz; server does not provide full SRW functionality.
-     However, it provides an adapter for SRW (to Z39.50).
+     The &yaz; server does not support XCQL.
      </para>
    </note>
   </sect1>
@@ -333,8 +332,8 @@ bend_initresult (*bend_init)(bend_initrequest *r);
     </para>
 
     <para>
-     This handler is also called when operating in SRW mode - when
-     a connection has been made (even though SRW does not offer
+     This handler is also called when operating in SRW/SRU mode - when
+     a connection has been made (even though SRW/SRU does not offer
      this service).
     </para>
 
@@ -497,8 +496,8 @@ typedef struct {
 
     <para>
      The <function>bend_search</function> handler is also called when
-     the frontend server receives a SRW SearchRetrieveRequest.
-     For SRW, a CQL query is usually provided by the client.
+     the frontend server receives a SRW/SRU SearchRetrieveRequest.
+     For SRW/SRU, a CQL query is usually provided by the client.
      The CQL query is available as part of <literal>Z_Query</literal>
      structure (note that CQL is now part of Z39.50 via an external).
      To support CQL in existing implementations that only do Type-1,
@@ -509,8 +508,8 @@ typedef struct {
     <para>
      To maintain backwards compatibility, the frontend server
      of yaz always assume that error codes are BIB-1 diagnostics.
-     For SRW operation, a Bib-1 diagnostic code is mapped to
-     SRW diagnostic.
+     For SRW/SRU operation, a Bib-1 diagnostic code is mapped to
+     SRW/SRU diagnostic.
     </para>
     
     <synopsis>
@@ -535,13 +534,14 @@ typedef struct bend_fetch_rr {
     int errcode;               /* 0==success */
     char *errstring;           /* system error string or NULL */
     int surrogate_flag;        /* surrogate diagnostic */
+    char *schema;              /* string record schema input/output */
 } bend_fetch_rr;
     </synopsis>
 
     <para>
      The frontend server calls the <function>bend_fetch</function> handler
      when it needs database records to fulfill a Z39.50 Search Request, a
-     Z39.50 Present  Request or a SRW SearchRetrieveRequest.
+     Z39.50 Present Request or a SRW SearchRetrieveRequest.
      The <literal>setname</literal> is simply the name of the result set
      that holds the reference to the desired record.
      The <literal>number</literal> is the offset into the set (with 1
@@ -559,13 +559,13 @@ typedef struct bend_fetch_rr {
     </para>
 
     <para>
-     If a SRW SearchRetrieveRequest is received by the frontend server,
-     the <literal>referenceId</literal> is NULL, the <literal>request_format
-     </literal> (transfer syntax) is XML (OID name 
+     If a SRW/SRU SearchRetrieveRequest is received by the frontend server,
+     the <literal>referenceId</literal> is NULL and the
+     <literal>request_format</literal> (transfer syntax) is XML (OID name 
      <literal>VAL_TEXT_XML</literal>).
-     The schema for SRW is stored in the
+     The schema for SRW/SRU is stored in both the
      <literal>Z_RecordComposition</literal>
-     structure.
+     structure and <literal>schema</literal> (simple string).
     </para>
 
     <para>
@@ -573,7 +573,7 @@ typedef struct bend_fetch_rr {
      database that holds the
      record. <literal>len</literal> is the length of the record returned, in
      bytes, and <literal>record</literal> is a pointer to the record.
-     <literal>Last_in_set</literal> should be nonzero only if the record
+     <literal>last_in_set</literal> should be nonzero only if the record
      returned is the last one in the given result set.
      <literal>errcode</literal> and <literal>errstring</literal>, if
      given, will be interpreted as a global error pertaining to the