Update doc/common because of new entities
[pazpar2-moved-to-github.git] / doc / pazpar2_protocol.xml
index e1e6b11..eeb0d7d 100644 (file)
@@ -9,7 +9,6 @@
      <!ENTITY % idcommon SYSTEM "common/common.ent">
      %idcommon;
 ]>
-<!-- $Id: pazpar2_protocol.xml,v 1.12 2007-07-02 20:02:48 adam Exp $ -->
 <refentry id="pazpar2_protocol">
  <refentryinfo>
   <productname>Pazpar2</productname>
@@ -33,7 +32,7 @@
    request is forwarded to the HTTP server specified in the configuration
    using the proxy setting.
    This way, a regular webserver can host the user interface (itself dynamic
-   or static HTML), and AJAX-style calls can be used from JS (or any other client-based
+   or static HTML), and Ajax-style calls can be used from JS (or any other client-based
    scripting environment) to interact with the search logic in Pazpar2. 
   </para>
   <para>
@@ -42,7 +41,9 @@
   <refsect2 id="command-init"><title>init</title>
    <para>
     Initializes a session.
-    Returns session ID to be used in subsequent requests.
+    Returns session ID to be used in subsequent requests. If
+    a server ID is given in the Pazpar2 server section, then a
+    period (.) and the server ID is appended to the session ID.
    </para>
    <para>
     Example:
        </para>
       </listitem>
      </varlistentry>
+
+     <varlistentry>
+      <term>service</term>
+      <listitem>
+       <para>
+        If this is defined it specifies a service ID. Makes the session use
+        the service with this ID. If this is setting is omitted, the
+        session will use the unnamed service in the Pazpar2 configuration.
+       </para>
+      </listitem>
+     </varlistentry>
     </variablelist>
    </para>
   </refsect2>
        </para>
       </listitem>
      </varlistentry>
+     <varlistentry>
+      <term>filter</term>
+      <listitem>
+       <para>
+       Limits the search to a given set of targets specified by the
+       filter. The filter consists a comma separated list of
+       setting+operator+args pairs. The setting is a Pazpar2 setting
+       (such as <literal>pz:id</literal>).
+       The operator is either = (string match)
+       or ~ (substring match). The args is a list of values separated
+       by | (or , one of the values). The idea is that only targets
+       with a setting matching one of the values given will be included
+       in the search.
+       </para>
+      </listitem>
+     </varlistentry>
+     <varlistentry>
+      <term>startrecs</term>
+      <listitem>
+       <para>
+       Specifies the first record to retrieve from each target.
+       The first record in a result set for a target is numbered 0, next
+       record is numbered 2. By default maxrecs is 0.
+       </para>
+      </listitem>
+     </varlistentry>
+     <varlistentry>
+      <term>maxrecs</term>
+      <listitem>
+       <para>
+       Specifies the maximum number of records to retrieve from each
+       target. The default value is 100. This setting has same meaning
+       as per-target setting pz:maxrecs . If pz:maxrecs is set, it takes
+       precedence over argument maxrecs.
+       </para>
+      </listitem>
+     </varlistentry>
     </variablelist>
 
    </para>
@@ -273,7 +322,8 @@ search.pz2?session=2044502273&command=stat
        field first. A sort field may be followed by a colon followed by
        the number '0' or '1', indicating whether results should be sorted in
        increasing or decreasing order according to that field. 0==Decreasing is
-       the default.
+       the default. Sort field names can be any field name designated as a sort field
+        in the pazpar2.cfg file, or the special name 'relevance'.
        </para>
       </listitem>
      </varlistentry>
@@ -314,7 +364,9 @@ search.pz2?session=2044502273&command=show&start=0&num=2&sort=title:1
   <refsect2 id="command-record">
    <title>record</title>
    <para>
-    Retrieves a detailed record. Parameters:
+    Retrieves a detailed record. Unlike the 
+    <link linkend="command-show">show</link> command, this command 
+    returns metadata records before merging takes place. Parameters:
 
     <variablelist>
      <varlistentry>
@@ -335,6 +387,62 @@ search.pz2?session=2044502273&command=show&start=0&num=2&sort=title:1
        </para>
       </listitem>
      </varlistentry>
+
+     <varlistentry>
+      <term>offset</term>
+      <listitem>
+       <para>
+       This optional parameter is an integer which, when given, makes
+       Pazpar2 return the raw record for a target. The raw record
+       from first target is numbered 0, second numbered 1, etc.
+       When a raw record is returned Pazpar2 will XSLT transform the
+       record but an XML version is returned. All ISO2709 records are
+       returned as MARCXML. OPAC records are returned as YAZ'
+       OPAC with an MARCXML sibling.
+       </para>
+       <para>
+       When offset is not given the Pazpar2 metadata for the record
+       is returned and with metadata for each targets' data specified
+       in a 'location' list.
+       </para>
+      </listitem>
+     </varlistentry>
+
+     <varlistentry>
+      <term>syntax</term>
+      <listitem>
+       <para>
+       This optional parameter is the record syntax used for raw 
+       transfer (i.e. when offset is specified). If syntax is not given,
+       but offset is used, the value of pz:requestsyntax is used.
+       </para>
+      </listitem>
+     </varlistentry>
+
+     <varlistentry>
+      <term>esn</term>
+      <listitem>
+       <para>
+       This optional parameter is the element set name used to retrieval
+       of a raw record (i.e. when offset is specified).
+       If esn is not given, but offset is used, the value of pz:elements
+       is used.
+       </para>
+      </listitem>
+     </varlistentry>
+
+     <varlistentry>
+      <term>binary</term>
+      <listitem>
+       <para>
+       This optional parameter enables "binary" response for retrieval
+       of a raw record (i.e. when offset is specified). For binary
+       responses the record is <emphasis>not</emphasis> converted to
+       XML and the HTTP content type is application/octet-stream.
+       </para>
+      </listitem>
+     </varlistentry>
+
     </variablelist>
    </para>
    <para> 
@@ -452,7 +560,7 @@ Output:
    <para> 
     Example:
     <screen><![CDATA[
-search.pz2?session=605047297&command=record&id=3
+search.pz2?session=605047297&command=bytarget&id=3
 ]]></screen>
 
     Example output:
@@ -474,11 +582,27 @@ search.pz2?session=605047297&command=record&id=3
     The following client states are defined: Client_Connecting,
     Client_Connected, Client_Idle, Client_Initializing, Client_Searching,
     Client_Searching, Client_Presenting, Client_Error, Client_Failed,
-    Client_Disconnected, Client_Stopped.
+    Client_Disconnected, Client_Stopped, Client_Continue.
    </para>
   </refsect2>
 
  </refsect1>
+ <refsect1><title>SEE ALSO</title>
+  <para>
+   Pazpar2:
+   <citerefentry>
+    <refentrytitle>pazpar2</refentrytitle>
+    <manvolnum>8</manvolnum>
+   </citerefentry>
+  </para>
+  <para>
+   Pazpar2 Configuration:
+   <citerefentry>
+    <refentrytitle>pazpar2_conf</refentrytitle>
+    <manvolnum>5</manvolnum>
+   </citerefentry>
+  </para>
+ </refsect1>
 </refentry>
 
 <!-- Keep this comment at the end of the file