Added additional elemements to the stylesheets.
[pazpar2-moved-to-github.git] / doc / pazpar2_protocol.xml
index db67d94..0a40fcd 100644 (file)
@@ -1,3 +1,4 @@
+<?xml version="1.0" standalone="no"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
  "http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd"
 [
@@ -8,7 +9,6 @@
      <!ENTITY % idcommon SYSTEM "common/common.ent">
      %idcommon;
 ]>
-<!-- $Id: pazpar2_protocol.xml,v 1.8 2007-06-04 10:34:06 adam Exp $ -->
 <refentry id="pazpar2_protocol">
  <refentryinfo>
   <productname>Pazpar2</productname>
@@ -33,7 +33,7 @@
    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
-   scripting environment) to interact with the search logic in pazpar2. 
+   scripting environment) to interact with the search logic in Pazpar2. 
   </para>
   <para>
    Each command is described in sub sections to follow.
    <para>
      The init command may take a number of setting parameters, similar to
      the 'settings' command described below. These settings are immediately
-     applied to the new session.
+     applied to the new session. Other parameters for init are:
+    <variablelist>
+     <varlistentry>
+      <term>clear</term>
+      <listitem>
+       <para>
+       If this is defined and the value is non-zero, the session will
+       not use the predefined databases in the configuration; only those
+       specified in the settings parameters (per session databases).
+       </para>
+      </listitem>
+     </varlistentry>
+    </variablelist>
    </para>
   </refsect2>
   
    </para>
   </refsect2>
   <refsect2 id="command-settings">
-    <title>settings</title>
-    <para>
-      The settings command applies session-specific settings to one or more
-      databases. A typical function of this is to enable access to
-      restricted resources for registered users, or to set a user- or
-      library-specific username/password to use against a target. Each
-      setting parameter has the form name[target]=value, where name is the
-      name of the setting (e.g. pz:authentication), target is a target ID,
-      or possibly a wildcard, and value is the desired value for the
-      setting.
-    </para>
-
-    <para>
-      Because the settings command manipulates potentially sensitive
-      information, it is possible to configure pazpar2 to only allow access
-      to this command from a trusted site -- usually from server-side
-      scripting, which in turn is responsible for authenticating the user,
-      and possibly determining which resources he has access to, etc.
-    </para>
-
+   <title>settings</title>
+   <para>
+    The settings command applies session-specific settings to one or more
+    databases. A typical function of this is to enable access to
+    restricted resources for registered users, or to set a user- or
+    library-specific username/password to use against a target. Each
+    setting parameter has the form name[target]=value, where name is the
+    name of the setting (e.g. pz:authentication), target is a target ID,
+    or possibly a wildcard, and value is the desired value for the
+    setting.
+   </para>
+   
+   <para>
+    Because the settings command manipulates potentially sensitive
+    information, it is possible to configure Pazpar2 to only allow access
+    to this command from a trusted site -- usually from server-side
+    scripting, which in turn is responsible for authenticating the user,
+    and possibly determining which resources he has access to, etc.
+   </para>
+   
+   <note>
     <para>
-      Note: As a shortcut, it is also possible to override settings directly in
-      the init command.
+     As a shortcut, it is also possible to override settings directly in
+     the init command.
     </para>
-
-    <para>
-      Example:
-      <screen><![CDATA[
+   </note>
+   
+   <para>
+    Example:
+    <screen><![CDATA[
        search.pz?command=settings&session=2044502273&pz:allow[search.com:210/db1]=1
       ]]></screen>
     Response:
   <refsect2 id="command-search"><title>search</title>
    <para>
     Launches a search, parameters:
-
+    
     <variablelist>
      <varlistentry>
       <term>session</term>
        </para>
       </listitem>
      </varlistentry>
+     <varlistentry>
+      <term>filter</term>
+      <listitem>
+       <para>
+       Filtering.
+       </para>
+      </listitem>
+     </varlistentry>
     </variablelist>
 
    </para>
@@ -250,19 +272,19 @@ search.pz2?session=2044502273&command=stat
      </varlistentry>
 
      <varlistentry>
-       <term>sort</term>
-       <listitem>
-         <para>
-          Specifies sort criteria. The argument is a comma-separated list
-          (no whitespace allowed) of sort fields, with the highest-priority
-          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.
-        </para>
-       </listitem>
-      </varlistentry>
-
+      <term>sort</term>
+      <listitem>
+       <para>
+       Specifies sort criteria. The argument is a comma-separated list
+       (no whitespace allowed) of sort fields, with the highest-priority
+       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.
+       </para>
+      </listitem>
+     </varlistentry>
+     
     </variablelist>
    </para>
    <para>
@@ -299,7 +321,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>
@@ -307,7 +331,7 @@ search.pz2?session=2044502273&command=show&start=0&num=2&sort=title:1
       <listitem>
        <para>
        Session ID
-       </para>
+       </para>
       </listitem>
      </varlistentry>
 
@@ -320,6 +344,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> 
@@ -339,7 +419,6 @@ search.pz2?session=605047297&command=record&id=3
   <md-author>Mairs, John W.</md-author>
   <md-subject>Cartography</md-subject>
 </record>
-    <screen><![CDATA[
 ]]></screen>
    </para>
   </refsect2>
@@ -348,10 +427,25 @@ search.pz2?session=605047297&command=record&id=3
    <title>termlist</title>
    <para>
     Retrieves term list(s). Parameters:
-
-session
-name       -- comma-separated list of termlist names (default "subject")
-
+    
+    <variablelist>
+     <varlistentry>
+      <term>session</term>
+      <listitem>
+       <para>
+       Session Id.
+       </para>
+      </listitem>
+     </varlistentry>
+     <varlistentry>
+      <term>name</term>
+      <listitem>
+       <para>
+       comma-separated list of termlist names (default "subject")
+       </para>
+      </listitem>
+     </varlistentry>
+    </variablelist>
    </para>
    <para>
     Example:
@@ -414,7 +508,7 @@ Output:
       <term>session</term>
       <listitem>
        <para>
-          Session Id.
+       Session Id.
        </para>
       </listitem>
      </varlistentry>
@@ -423,7 +517,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:
@@ -441,15 +535,31 @@ search.pz2?session=605047297&command=record&id=3
   <!-- ... more target nodes below as necessary -->
 </bytarget>
 ]]></screen>
-
-   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.
+    
+    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_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