Fix Metaproxy stops logging after check config failed MP-590
[metaproxy-moved-to-github.git] / doc / sru_z3950.xml
index 8c23ff1..f9bc256 100644 (file)
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" 
-    "http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.4//EN"
+    "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
  <!ENTITY copyright SYSTEM "copyright.xml">
+ <!ENTITY % idcommon SYSTEM "common/common.ent">
+     %idcommon;
 ]>
-<!-- $Id: sru_z3950.xml,v 1.2 2006-10-12 12:02:19 marc Exp $ -->
-<refentry>
+<refentry id="ref-sru_z3950">
+ <refentryinfo>
+  <productname>Metaproxy</productname>
+  <info><orgname>Index Data</orgname></info>
+ </refentryinfo>
+
  <refmeta>
   <refentrytitle>sru_z3950</refentrytitle>
   <manvolnum>3mp</manvolnum>
-  <refmiscinfo>Metaproxy Module</refmiscinfo>
+  <refmiscinfo class="manual">Metaproxy Module</refmiscinfo>
  </refmeta>
+
  <refnamediv>
   <refname>sru_z3950</refname>
-  <refpurpose>transforming SRU web service requests to Z3950 metaproxy packages</refpurpose>
+  <refpurpose>Metaproxy Module transforming SRU web service requests to
+  Z39.50 Metaproxy packages</refpurpose>
  </refnamediv>
+
  <refsect1><title>DESCRIPTION</title>
   <para>
-   The <literal>sru_z3950</literal> metaproxy filter transforms valid
-   SRU/GET or SRU/SOAP requests to Z3950 requests, and wraps the
-   received hit counts and XML records into suitable SRU response messages. 
+   The <literal>sru_z3950</literal> Metaproxy filter transforms valid
+   SRU GET/POST/SOAP requests to Z39.50 requests, and wraps the
+   received hit counts and XML records into suitable SRU response messages.
   </para>
   <para>
-   It supports only the SRU <literal>searchRetrieve</literal> operation, which
-   is transformed into successive Z3950 <literal>init</literal>, 
-   <literal>search</literal> and <literal>present</literal> requests. 
+   Multiple database elements defining the names of the accepted
+   databases are allowed in the configuration file. Each
+   of them must contain their own explain record, or must be empty.
+   Notice that explain
+   records come in SRU and Z39.50 flavors, and this filter requires
+   the SRU version. See the
+   <ulink url="&url.zeerex.explain;">ZeeReX Explain</ulink>
+   standard pages and the
+   <ulink url="&url.sru.explain;">SRU Explain</ulink> pages
+   for more information.
   </para>
   <para>
-   The SRU <literal>scan</literal> operation is not supported.
+   Optionally the default stylesheet may be specified. If the client
+   do not specify a stylesheet, the CDATA of element
+   <literal>stylesheet</literal> is used.
+  </para>
+  <para>
+   All Z39.50 packages and all HTTP packages that do not resolve to
+   one configured database name are passed unaltered to the next
+   filters on the route.
    </para>
   <para>
-   The SRU <literal>explain</literal> operation is not supported. 
-   A configuration for a full SRU server needs to prepend the 
-   <literal>zeerex_explain</literal> filter in front of this 
-   <literal>sru_z3950</literal> to serve explain requests. This filter
-   still needs to be implemented.
+   The SRU <literal>explain</literal> operation is supported,
+   returning either the absolute minimum required by the standard, or
+   a  full  pre-defined ZeeReX explain record.
+  </para>
+  <para>
+   It supports the SRU <literal>searchRetrieve</literal> operation, which
+   is transformed into successive Z39.50 <literal>init</literal>,
+   <literal>search</literal> and <literal>present</literal> requests.
+  </para>
+  <para>
+   The SRU <literal>scan</literal> operation is not supported.
    </para>
   <para>
    This filter does not handle CQL-to-PQF translations. In case that
-   the backends do not understand CQL, you need to prepend the
-   <literal>cql_pqf</literal> metaproxy filter. This filter
-   still needs to be implemented.
-   </para>
+   the backends do not understand CQL, you need to append the
+   <literal>cql_pqf</literal> metaproxy filter.
+  </para>
+  <para>
+    This module supports the following SRU extra parameters:
+    <variablelist>
+      <varlistentry>
+       <term>x-target</term>
+       <listitem>
+         <para>
+           Specifies backend Z39.50 target.
+         </para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term>x-max-sockets</term>
+       <listitem>
+         <para>
+           Specifies maximum number of sockets to use for a Z39.50 backend
+           client (for one given target host/db).
+         </para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term>x-session-id</term>
+       <listitem>
+         <para>
+           Allow a user-defined session ID to be attached to filter
+           log that follows sru_z3950. The ID is present in the
+           log files and not available to the SRU webservice. In order
+           to log material out via SRU, the x-log-enable may be used
+           instead.
+         </para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+       <term>x-log-enable</term>
+       <listitem>
+         <para>
+            Controls whether log is to be collected for filters that
+            sru_z3950. Log data is extra response data's log element.
+            A value of 1 enables logging; other value disables
+            logging (default).
+         </para>
+       </listitem>
+      </varlistentry>
+    </variablelist>
+  </para>
+ </refsect1>
+
+ <refsect1><title>SCHEMA</title>
+   <literallayout><xi:include
+                    xi:href="../xml/schema/filter_sru_z3950.rnc"
+                    xi:parse="text"
+                    xmlns:xi="http://www.w3.org/2001/XInclude" />
+   </literallayout>
  </refsect1>
 
  <refsect1><title>EXAMPLES</title>
   <para>
    A typical configuration looks like this:
    <screen><![CDATA[
-    <filter type="sru_z3950"/>
+    <filter type="sru_z3950">
+      <stylesheet>/my.xsl</stylesheet>
+      <database name="Default">
+        <explain xmlns="http://explain.z3950.org/dtd/2.0/">
+          ...
+        </explain>
+      </database>
+      <database name="Dummy">
+    </filter>
+
 ]]>
    </screen>
   </para>
- </refsect1> 
+ </refsect1>
+
  <refsect1><title>SEE ALSO</title>
   <para>
    <citerefentry>
    </citerefentry>
   </para>
  </refsect1>
+
  &copyright;
 </refentry>
 
 <!-- Keep this comment at the end of the file
 Local variables:
-mode: sgml
-sgml-omittag:t
-sgml-shorttag:t
-sgml-minimize-attributes:nil
-sgml-always-quote-attributes:t
-sgml-indent-step:1
-sgml-indent-data:t
-sgml-parent-document:nil
-sgml-local-catalogs: nil
-sgml-namecase-general:t
+mode: nxml
+nxml-child-indent: 1
 End:
 -->