-## $Id: Makefile.am,v 1.33 2007-01-03 15:34:50 marc Exp $
+## $Id: Makefile.am,v 1.34 2007-01-05 10:56:17 marc Exp $
docdir=$(datadir)/doc/@PACKAGE@
SUBDIRS = common
MAINXML = $(srcdir)/book.xml
XMLMAN = metaproxy.xml \
- auth_simple.xml backend_test.xml bounce.xml \
+ auth_simple.xml \
+ backend_test.xml \
+ bounce.xml \
frontend_net.xml \
http_file.xml \
load_balance.xml \
log.xml \
- multi.xml query_rewrite.xml \
+ multi.xml \
+ query_rewrite.xml \
record_transform.xml\
+ session_shared.xml \
sru_z3950.xml\
- session_shared.xml template.xml virt_db.xml z3950_client.xml
-
-MANFILES = auth_simple.3mp backend_test.3mp bounce.3mp \
+ template.xml \
+ virt_db.xml \
+ z3950_client.xml \
+ zeerex_explain.xml
+
+MANFILES = metaproxy.1 \
+ auth_simple.3mp \
+ backend_test.3mp \
+ bounce.3mp \
frontend_net.3mp \
http_file.3mp \
load_balance.3mp \
log.3mp \
multi.3mp query_rewrite.3mp \
record_transform.3mp\
+ session_shared.3mp \
sru_z3950.xml\
- session_shared.3mp template.3mp virt_db.3mp z3950_client.3mp \
- metaproxy.1
+ template.3mp \
+ virt_db.3mp \
+ z3950_client.3mp \
+ zeerex_explain.3mp
+
HTMLFILES = index.html
-->
<!NOTATION PDF SYSTEM "PDF">
]>
-<!-- $Id: book.xml,v 1.45 2007-01-03 15:34:50 marc Exp $ -->
+<!-- $Id: book.xml,v 1.46 2007-01-05 10:56:17 marc Exp $ -->
<book id="metaproxy">
<bookinfo>
<title>Metaproxy - User's Guide and Reference</title>
<firstname>Mike</firstname><surname>Taylor</surname>
</author>
<copyright>
- <year>2006</year>
+ <year>2005-2007</year>
<holder>Index Data ApS</holder>
</copyright>
<abstract>
You may modify your copy of the software (fix bugs, add features)
if you need to. We encourage you to send your changes back to us for
integration into the master copy, but you are not obliged to do so. You
- may NOT pass your changes on to any other party.
+ may NOT pass your changes on to any other party.
</para>
</listitem>
<listitem>
packages
(<literal>frontend_net</literal>);
others are sinks: they consume packages and return a result
- (<literal>z3950_client</literal>,
- <literal>backend_test</literal>,
+ (<literal>backend_test</literal>,
<literal>bounce</literal>,
- <literal>http_file</literal>);
+ <literal>http_file</literal>,
+ <literal>z3950_client</literal>);
the others are true filters, that read, process and pass on the
packages they are fed
(<literal>auth_simple</literal>,
</section>
<section>
- <title><literal>log</literal>
- (mp::filter::Log)</title>
- <para>
- Writes logging information to standard output, and passes on
- the package unchanged. A log file name can be specified, as well
- as multiple different logging formats.
- </para>
- </section>
-
- <section>
<title><literal>load_balance</literal>
(mp::filter::LoadBalance)</title>
<para>
with least load cost for a new session.
</para>
</section>
-
+
+ <section>
+ <title><literal>log</literal>
+ (mp::filter::Log)</title>
+ <para>
+ Writes logging information to standard output, and passes on
+ the package unchanged. A log file name can be specified, as well
+ as multiple different logging formats.
+ </para>
+ </section>
+
<section>
<title><literal>multi</literal>
(mp::filter::Multi)</title>
(mp::filter::SRUtoZ3950)</title>
<para>
This 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.
+ SRU GET/POST/SOAP searchRetrieve requests to Z3950 init, search,
+ and present requests, and wraps the
+ received hit counts and XML records into suitable SRU response
+ messages.
+ The <literal>sru_z3950</literal> filter does only process SRU
+ GET/POST/SOAP explain requests in a very crude fashion, returning
+ the absolute minimum required by the standard. Full ZeeReX
+ explain support is added by including the
+ <literal>zeerex_explain</literal> filter before the
+ <literal>sru_z3950</literal> filter.
</para>
</section>
are passed untouched.
</para>
</section>
+
+
+ <section>
+ <title><literal>zeerex_explain</literal>
+ (mp::filter::ZeerexExplain)</title>
+ <para>
+ This filter acts as a sink for
+ SRU GET/POST/SOAP explain requests, returning a static ZeeReX
+ Explain XML record from the config section. All other packages
+ are passed through, including SRU GET/POST/SOAP searchRetrieve
+ requests, which are handled by a following
+ <literal>sru_z3950</literal> filter.
+ 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 on the correct explain syntax.
+ </para>
+ </section>
+
+
</section>
-<!-- $Id: copyright.xml,v 1.1 2006-03-16 13:20:05 adam Exp $ -->
+<!-- $Id: copyright.xml,v 1.2 2007-01-05 10:56:17 marc Exp $ -->
<refsect1><title>COPYRIGHT</title>
<para>
- Copyright (c) 2005-2006, Index Data ApS
+ Copyright (c) 2005-2007, Index Data ApS
</para>
</refsect1>
"http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
<!ENTITY copyright SYSTEM "copyright.xml">
]>
-<!-- $Id: sru_z3950.xml,v 1.2 2006-10-12 12:02:19 marc Exp $ -->
+<!-- $Id: sru_z3950.xml,v 1.3 2007-01-05 10:56:17 marc Exp $ -->
<refentry>
<refmeta>
<refentrytitle>sru_z3950</refentrytitle>
<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
+ SRU GET/POST/SOAP requests to Z3950 requests, and wraps the
received hit counts and XML records into suitable SRU response messages.
</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.
+ <literal>sru_z3950</literal> to serve explain requests.
</para>
<para>
This filter does not handle CQL-to-PQF translations. In case that
--- /dev/null
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
+ <!ENTITY copyright SYSTEM "copyright.xml">
+ <!ENTITY % common SYSTEM "common/common.ent">
+ %common;
+]>
+<!-- $Id: zeerex_explain.xml,v 1.1 2007-01-05 10:56:17 marc Exp $ -->
+<refentry>
+ <refmeta>
+ <refentrytitle>zeerex_explain</refentrytitle>
+ <manvolnum>3mp</manvolnum>
+ <refmiscinfo>Metaproxy Module</refmiscinfo>
+ </refmeta>
+
+ <refnamediv>
+ <refname>zeerex_explain</refname>
+ <refpurpose>answering SRU web service explain requests</refpurpose>
+ </refnamediv>
+
+ <refsect1><title>DESCRIPTION</title>
+ <para>
+ The <literal>zeerex_explain</literal> metaproxy filter
+ answers valid SRU GET/POST/SOAP explain requests, returning a
+ static ZeeReX Explain XML record from the config section. All other
+ packages are passed through.
+ </para>
+ <para>
+ 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. Notice that explain
+ records come in SRU and Z3950 flavours, 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>
+ A configuration for a full SRU server needs to line up a
+ <literal>zeerex_explain</literal> filter, a
+ <literal>cql_pqf</literal> (not implemented yet) filter, and a
+ <literal>sru_z3950</literal> after each other.
+ </para>
+ </refsect1>
+
+ <refsect1><title>EXAMPLES</title>
+ <para>
+ A typical configuration looks like this:
+ <screen><![CDATA[
+ <filter type="zeerex_explain">
+ <database name="Default">
+ <explain xmlns="http://explain.z3950.org/dtd/2.0/">
+ ...
+ </explain>
+ </database>
+ </filter>
+]]>
+ </screen>
+ </para>
+ </refsect1>
+
+ <refsect1><title>SEE ALSO</title>
+ <para>
+ <citerefentry>
+ <refentrytitle>metaproxy</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry>
+ </para>
+ <para>
+ <ulink url="&url.zeerex.explain;">ZeeReX Explain</ulink>
+ </para>
+ <para>
+ <ulink url="&url.sru.explain;">SRU Explain</ulink>
+ </para>
+ </refsect1>
+
+ ©right;
+</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
+End:
+-->