.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "Net::Z3950::Simple2ZOOM::Config 3pm"
.TH Net::Z3950::Simple2ZOOM::Config 3pm "2007-09-14" "perl v5.12.4" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
Net::Z3950::Simple2ZOOM::Config \- configuration file for the Simple2ZOOM gateway
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 10
\&
\& http://some.url/{user}/pwd={pass}
\&
\& http://z3950.loc.gov:7090/voyager
\&
\& marc\-8
\&
\& cql
\&
\&
\&
\&
\&
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
The universal Swiss Army Gateway \f(CW\*(C`simple2zoom\*(C'\fR is configured by a
single file, named on the command-line, and expressed in \s-1XML\s0. This
file specifies which back-end databases are supported, how the
back-ends are contacted, what character-sets they provide records in,
and how to map Z39.50 searches to \s-1CQL\s0.
.PP
The structure of the file is pretty simple.
.SS "Top Level"
.IX Subsection "Top Level"
.IP "" 4
.IX Item ""
The top-level element is . It contains a single optional
element, any number of elements and a
single optional element. The second of these specifies how
to interpret requests to search in the configured databases; the last
provides query mapping specifications for dynamically specified
databases.
.IP "" 4
.IX Item ""
This element contains a \s-1URL\s0 template, specifying the address of an
\&\s-1HTTP\s0 authentication server. The template must include the special
strings \f(CW\*(C`{user}\*(C'\fR and \f(CW\*(C`{pass}\*(C'\fR, which are substituted with the
username and password supplied in the Init request, if any. The
resulting \s-1URL\s0 is actioned and the result examined: any successful
response (\s-1HTTP\s0 status 200) indicates that the username/password
combination is acceptable, and that the session can continue; any
other response (e.g. 401 Authorization Required) results in the Init
request being refused with \s-1BIB\-1\s0 diagnostic 1014 (Init/AC:
Authentication System error).
.Sp
If the element is omitted from the configuration, no
authentication credentials are required, and any that are provided are
ignored.
.Sp
(A trivial example of an authentication server script is included in
the Simple2ZOOM distribution, as \f(CW\*(C`etc/sru\-auth\*(C'\fR.)
.IP "" 4
.IX Item ""
The element carries a \f(CW\*(C`name\*(C'\fR attribute specifying the
Z39.50 database name by which is it is known to clients. It contains
several complex elements, and is discussed in more detail below.
.IP "" 4
.IX Item ""
Each element, whether contained within a specific
(see below)
or at the top level, consists of a single mandatory
element followed by any number of