Add metaproxy-config man page
[metaproxy-moved-to-github.git] / doc / sru_z3950.xml
1 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.4//EN"
2     "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
3  <!ENTITY copyright SYSTEM "copyright.xml">
4  <!ENTITY % idcommon SYSTEM "common/common.ent">
5      %idcommon;
6 ]>
7 <refentry id="ref-sru_z3950">
8  <refentryinfo>
9   <productname>Metaproxy</productname>
10   <info><orgname>Index Data</orgname></info>
11  </refentryinfo>
12
13  <refmeta>
14   <refentrytitle>sru_z3950</refentrytitle>
15   <manvolnum>3mp</manvolnum>
16   <refmiscinfo class="manual">Metaproxy Module</refmiscinfo>
17  </refmeta>
18
19  <refnamediv>
20   <refname>sru_z3950</refname>
21   <refpurpose>Metaproxy Module transforming SRU web service requests to
22   Z39.50 Metaproxy packages</refpurpose>
23  </refnamediv>
24
25  <refsect1><title>DESCRIPTION</title>
26   <para>
27    The <literal>sru_z3950</literal> Metaproxy filter transforms valid
28    SRU GET/POST/SOAP requests to Z39.50 requests, and wraps the
29    received hit counts and XML records into suitable SRU response messages.
30   </para>
31   <para>
32    Multiple database elements defining the names of the accepted
33    databases are allowed in the configuration file. Each
34    of them must contain their own explain record, or must be empty.
35    Notice that explain
36    records come in SRU and Z39.50 flavors, and this filter requires
37    the SRU version. See the
38    <ulink url="&url.zeerex.explain;">ZeeReX Explain</ulink>
39    standard pages and the
40    <ulink url="&url.sru.explain;">SRU Explain</ulink> pages
41    for more information.
42   </para>
43   <para>
44    All Z39.50 packages and all HTTP packages that do not resolve to
45    one configured database name are passed unaltered to the next
46    filters on the route.
47    </para>
48   <para>
49    The SRU <literal>explain</literal> operation is supported,
50    returning either the absolute minimum required by the standard, or
51    a  full  pre-defined ZeeReX explain record.
52   </para>
53   <para>
54    It supports the SRU <literal>searchRetrieve</literal> operation, which
55    is transformed into successive Z39.50 <literal>init</literal>,
56    <literal>search</literal> and <literal>present</literal> requests.
57   </para>
58   <para>
59    The SRU <literal>scan</literal> operation is not supported.
60    </para>
61   <para>
62    This filter does not handle CQL-to-PQF translations. In case that
63    the backends do not understand CQL, you need to append the
64    <literal>cql_pqf</literal> metaproxy filter.
65   </para>
66   <para>
67     This module supports the following SRU extra parameters:
68     <variablelist>
69       <varlistentry>
70         <term>x-target</term>
71         <listitem>
72           <para>
73             Specifies backend Z39.50 target.
74           </para>
75         </listitem>
76       </varlistentry>
77       <varlistentry>
78         <term>x-max-sockets</term>
79         <listitem>
80           <para>
81             Specifies maximum number of sockets to use for a Z39.50 backend
82             client (for one given target host/db).
83           </para>
84         </listitem>
85       </varlistentry>
86       <varlistentry>
87         <term>x-session-id</term>
88         <listitem>
89           <para>
90             Allow a user-defined session ID to be attached to filter
91             log that follows sru_z3950. The ID is present in the
92             log files and not available to the SRU webservice. In order
93             to log material out via SRU, the x-log-enable may be used
94             instead.
95           </para>
96         </listitem>
97       </varlistentry>
98       <varlistentry>
99         <term>x-log-enable</term>
100         <listitem>
101           <para>
102             Controls whether log is to be collected for filters that
103             sru_z3950. Log data is extra response data's log element.
104             A value of 1 enables logging; other value disables
105             logging (default).
106           </para>
107         </listitem>
108       </varlistentry>
109     </variablelist>
110   </para>
111  </refsect1>
112
113  <refsect1><title>SCHEMA</title>
114    <literallayout><xi:include
115                      xi:href="../xml/schema/filter_sru_z3950.rnc"
116                      xi:parse="text"
117                      xmlns:xi="http://www.w3.org/2001/XInclude" />
118    </literallayout>
119  </refsect1>
120
121  <refsect1><title>EXAMPLES</title>
122   <para>
123    A typical configuration looks like this:
124    <screen><![CDATA[
125     <filter type="sru_z3950">
126       <database name="Default">
127         <explain xmlns="http://explain.z3950.org/dtd/2.0/">
128           ...
129         </explain>
130       </database>
131       <database name="Dummy">
132     </filter>
133
134 ]]>
135    </screen>
136   </para>
137  </refsect1>
138
139  <refsect1><title>SEE ALSO</title>
140   <para>
141    <citerefentry>
142     <refentrytitle>metaproxy</refentrytitle>
143     <manvolnum>1</manvolnum>
144    </citerefentry>
145   </para>
146  </refsect1>
147
148  &copyright;
149 </refentry>
150
151 <!-- Keep this comment at the end of the file
152 Local variables:
153 mode: nxml
154 nxml-child-indent: 1
155 End:
156 -->