- <variablelist>
- <varlistentry>
- <term>target</term>
- <listitem>
- <para>
- This specifies the search target to which this setting should be
- applied. Targets are identified by their Z39.50 URL, generally
- including the host, port, and database name, (e.g.
- bagel.indexdata.com:210/marc). Two wildcard forms are accepted:
- * (asterisk) matches all known targets;
- bagel.indexdata.com:210/* matches all known databases on the given
- host.
- </para>
- <para>
- A precedence system determines what happens if there are
- overlapping values for the same setting name for the same
- target. A setting for a specific target name overrides a
- setting whch specifies target using a wildcard. This makes it
- easy to set defaults for all targets, and then override them
- for specific targets or hosts. If there are
- multiple overlapping settings with the same name and target
- value, the 'precedence' attribute determines what happens.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>user</term>
- <listitem>
- <para>
- This specifies the user ID to which this setting applies. A
- given setting may have values for any number of users, or it
- may have a 'default' value which is applied when no user is
- specified, or when no user-specific value is available.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>name</term>
- <listitem>
- <para>
- The name of the setting. This can be anything you like.
- However, pazpar2 reserves a number of setting names for
- specific purposes, all starting with 'pz:', and it is a good
- idea to avoid that prefix if you make up your own setting
- names. See below for a list of reserved variables.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>value</term>
- <listitem>
- <para>
- The value of the setting. Generally, this can be anything you
- want -- however, some of the reserved settings may expect
- specific kinds of values.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>precedence</term>
- <listitem>
- <para>
- This should be an integer. If not provided, the default value
- is 0. If two (or more) settings have the same content for
- target and name, the precedence value determines the outcome.
- If both settings have the same precedence value, they are both
- applied to the target(s). If one has a higher value, then the
- value of that setting is applied, and the other one is ignored.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
+ <!-- mapping for unqualified search -->
+ <set name="pz:cclmap:term" value="u=1016 t=l,r s=al"/>
+
+ <!-- field-specific mappings -->
+ <set name="pz:cclmap:ti" value="u=4 s=al"/>
+ <set name="pz:cclmap:su" value="u=21 s=al"/>
+ <set name="pz:cclmap:isbn" value="u=7"/>
+ <set name="pz:cclmap:issn" value="u=8"/>
+ <set name="pz:cclmap:date" value="u=30 r=r"/>
+
+ <!-- Retrieval settings -->
+
+ <set name="pz:requestsyntax" value="marc21"/>
+ <set name="pz:elements" value="F"/>
+
+ <!-- Query encoding -->
+ <set name="pz:queryencoding" value="iso-8859-1"/>
+
+ <!-- Result normalization settings -->
+
+ <set name="pz:nativesyntax" value="iso2709"/>
+ <set name="pz:xslt" value="../etc/marc21.xsl"/>
+
+</settings>
+
+ ]]></screen>
+ </para>
+
+ <para>
+ The next example shows certain settings overridden for one target,
+ one which returns XML records containing DublinCore elements, and
+ which furthermore requires a username/password.
+ <screen><![CDATA[
+<settings target="funkytarget.com:210/db1">
+ <set name="pz:requestsyntax" value="xml"/>
+ <set name="pz:nativesyntax" value="xml"/>
+ <set name="pz:xslt" value="../etc/dublincore.xsl"/>
+
+ <set name="pz:authentication" value="myuser/password"/>
+</settings>
+ ]]></screen>
+ </para>
+
+ <para>
+ The following example associates a specific name/value combination
+ with a number of targets. The targets below are access-restricted,
+ and can only be used by users with special credentials.
+ <screen><![CDATA[
+<settings name="pz:allow" value="0">
+ <set target="funkytarget.com:210/*"/>
+ <set target="commercial.com:2100/expensiveDb"/>
+</settings>
+ ]]></screen>
+ </para>
+
+ </refsect2>
+
+ <refsect2><title>RESERVED SETTING NAMES</title>
+ <para>
+ The following setting names are reserved by Pazpar2 to control the
+ behavior of the client function.
+ </para>
+
+ <variablelist>
+ <varlistentry>
+ <term>pz:cclmap:xxx</term>
+ <listitem>
+ <para>
+ This establishes a CCL field definition or other setting, for
+ the purpose of mapping end-user queries. XXX is the field or
+ setting name, and the value of the setting provides parameters
+ (e.g. parameters to send to the server, etc.). Please consult
+ the YAZ manual for a full overview of the many capabilities of
+ the powerful and flexible CCL parser.
+ </para>
+ <para>
+ Note that it is easy to establish a set of default parameters,
+ and then override them individually for a given target.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>pz:requestsyntax</term>
+ <listitem>
+ <para>
+ This specifies the record syntax to use when requesting
+ records from a given server. The value can be a symbolic name like
+ marc21 or xml, or it can be a Z39.50-style dot-separated OID.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>pz:elements</term>
+ <listitem>
+ <para>
+ The element set name to be used when retrieving records from a
+ server.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>pz:piggyback</term>
+ <listitem>
+ <para>
+ Piggybacking enables the server to retrieve records from the
+ server as part of the search response in Z39.50. Almost all
+ servers support this (or fail it gracefully), but a few
+ servers will produce undesirable results.
+ Set to '1' to enable piggybacking, '0' to disable it. Default
+ is 1 (piggybacking enabled).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>pz:nativesyntax</term>
+ <listitem>
+ <para>
+ The representation (syntax) of the retrieval records. Currently
+ recognized values are iso2709 and xml.
+ </para>
+ <para>
+ For iso2709, can also specify a native character set, e.g. "iso2709;latin-1".
+ If no character set is provided, MARC-8 is assumed.
+ </para>
+ <para>
+ If pz:nativesyntax is not specified, pazpar2 will attempt to determine
+ the value based on the response from the server.
+ </para>
+ </listitem>
+ </varlistentry>