.\" 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 \& title \& creator \& \& \& .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 s. The content of indicates the type of query that should be sent to the back-end server, with Simple2ZOOM reposible for translating incoming queries as required into that format. At present, the only supported value is \&\f(CW\*(C`cql\*(C'\fR. .IP "" 4 .IX Item "" Each element carries a \f(CW\*(C`use\*(C'\fR attribute, which is the numeric value of \s-1BIB\-1\s0 use attribute to be supported, and optionally contains a single element which in turn contains the name of the corresponding \s-1CQL\s0 index. Type\-1 searches against the specified \&\s-1BIB\-1\s0 access point are mapped to \s-1CQL\s0 searches against the specified index. .Sp If the is omitted within a , then the generated \s-1CQL\s0 query term has no index specified. This can be useful for \s-1BIB\-1\s0 attributes such as 1016 (any) and 1035 (anywhere). .SS "Databases" .IX Subsection "Databases" The element which describes each database contains the following elements in the specified order. .PP In general, entries are of two kinds: those connecting through to a Z39.50 database will have no element, since no query mapping is necessary to translate an incoming Type\-1 query; but those connecting to an \s-1SRU\s0 or \s-1SRW\s0 database will have a element with set to \f(CW\*(C`cql\*(C'\fR and containing information on how to map from specified \s-1BIB\-1\s0 use attributes to \s-1CQL\s0 indexes. .IP "" 4 .IX Item "" Contains the target address of the back-end database (e.g. \f(CW\*(C`tcp:z3950.indexdata.com/gils\*(C'\fR or \&\f(CW\*(C`http://z3950.loc.gov:7090/voyager\*(C'\fR). .IP "" 4 .IX Item "" Optional. If provided, it must take one of the following values, and if it is omitted then the value \f(CW\*(C`fallback\*(C'\fR is assumed: .RS 4 .ie n .IP """id""" 4 .el .IP "\f(CWid\fR" 4 .IX Item "id" When queries are received that include references to existing result-sets, these are translated into result-set references using the \&\f(CW\*(C`cql.resultSetId\*(C'\fR index. It is an error if the server does not support this facility. .ie n .IP """search""" 4 .el .IP "\f(CWsearch\fR" 4 .IX Item "search" References to existing result-sets are rewritten as resubmissions of the query. This works on all servers, but does not reliably give precisely correct results if the database is updated between searches. .ie n .IP """fallback""" 4 .el .IP "\f(CWfallback\fR" 4 .IX Item "fallback" Result-set references are used when supported, but resubmissions of prior queries are used when this facility is unavailable. .RE .RS 4 .RE .IP "" 4 .IX Item "" This is optional. If provided, it is empty and indicates that the back-end database does not support named result sets. .IP "