sru_z3950 — Metaproxy Module transforming SRU web service requests to Z39.50 Metaproxy packages
The sru_z3950
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.
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 ZeeRex Explain standard pages and the SRU Explain pages for more information.
Optionally the default stylesheet may be specified. If the client
does not specify a stylesheet, the CDATA of element
stylesheet
is used.
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.
The SRU explain
operation is supported,
returning either the absolute minimum required by the standard, or
a full pre-defined ZeeRex explain record.
It supports the SRU searchRetrieve
operation, which
is transformed into successive Z39.50 init
,
search
and present
requests.
The SRU scan
operation is not supported.
This filter does not handle CQL-to-PQF translations. In the case that
the backends do not understand CQL, you need to append the
cql_pqf
metaproxy filter.
This module supports the following SRU extra parameters:
Specifies backend Z39.50 target.
Specifies maximum number of sockets to use for a Z39.50 backend client (for one given target host/db).
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.
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; any other value disables logging (default).
# Metaproxy XML config file schemas
#
# Copyright (C) Index Data
# See the LICENSE file for details.
namespace mp = "http://indexdata.com/metaproxy"
filter_sru_z3950 =
attribute type { "sru_z3950" },
attribute id { xsd:NCName }?,
attribute name { xsd:NCName }?,
element mp:stylesheet { xsd:string }?,
element mp:database {
attribute name { xsd:NCName },
any
}*,
element mp:limit {
attribute retrieve { xsd:integer }?
}?