-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
- "http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.4//EN"
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY copyright SYSTEM "copyright.xml">
+ <!ENTITY % idcommon SYSTEM "common/common.ent">
+ %idcommon;
]>
-<!-- $Id: record_transform.xml,v 1.2 2006-10-12 12:02:19 marc Exp $ -->
-<refentry>
+<refentry id="ref-record_transform">
+ <refentryinfo>
+ <productname>Metaproxy</productname>
+ <info><orgname>Index Data</orgname></info>
+ </refentryinfo>
+
<refmeta>
<refentrytitle>record_transform</refentrytitle>
<manvolnum>3mp</manvolnum>
- <refmiscinfo>Metaproxy Module</refmiscinfo>
-</refmeta>
-
+ <refmiscinfo class="manual">Metaproxy Module</refmiscinfo>
+ </refmeta>
+
<refnamediv>
<refname>record_transform</refname>
- <refpurpose>Z3950 present package record transformation</refpurpose>
+ <refpurpose>Metaproxy Module that performs record transformations</refpurpose>
</refnamediv>
<refsect1><title>DESCRIPTION</title>
<para>
- This filter acts only on Z3950 present requests, and let all
- other types of packages and requests pass untouched. It's use is
- twofold: blocking Z3950 present requests, which the backend
- server does not understand and can not honor, and transforming
- the present syntax and elementset name according to the rules
- specified, to fetch only existing record formats, and transform
- them on the fly to requested record syntaxes.
- </para>
+ This filter acts on Z39.50 present requests and Z39.50 search requests,
+ and let all other types of packages and requests pass untouched. Its
+ use is twofold: blocking Z39.50 present/search requests that the backend
+ server does not understand or can not honor, and transforming the present
+ syntax and elementset name according to the rules specified, to fetch
+ only existing record formats, and transform them on the fly to requested
+ record syntaxes.
+ </para>
<para>
- The allowed record present syntax and
+ The allowed record present syntax and
element name are described in multiple
- <literal><retrieval></literal> elements inside the
+ <literal><retrieval></literal> elements inside the
<literal><retrievalinfo></literal>
element. The <literal>syntax</literal> attribute is mandatory, but
the <literal>name</literal> attribute
- may be omitted, in which case any
+ may be omitted, in which case any
element name is accepted. An additional
<literal>identifier</literal> attribute can be added to explicitly
- describe the Z3950 identifier string.
- </para>
- <para>
- Record transformations are invoked when the optional attributes
- <literal>backendsyntax</literal> and <literal>backendname</literal>
- as well as the <literal><convert></literal> element are specified.
- Record conversions come in two flavors:
- <literal><marc></literal> binary conversions between different
- binary MARC formats and MarcXML formats, and
- <literal><xslt></literal> stylesheet transformations performed
- on any kind of XML records. These conversions can be stacked in any
- order, and are performed linearly in file order.
+ describe the Z39.50 identifier string.
</para>
<para>
- The binary MARC record transformations
- <literal><marc></literal> are defined using the following
- attributes: <literal>inputformat</literal>, <literal>outputformat</literal>,
- <literal>inputcharset</literal> and <literal>outputcharset</literal>.
+ The <literal><retrieval></literal> element and the content
+ is described in the
+ <ulink url="&url.yaz.retrieval;">Retrieval Facility</ulink> section
+ of the YAZ manual.
</para>
<para>
- XML <literal><xslt></literal> transformation instructions
- accept only one mandatory <literal>stylesheet</literal> attribute,
- which is either an absolute path, or a relative path from the
- working directory of <literal>metaproxy</literal> to the location
- of the requested XSLT stylesheet.
+ From Metaproxy version 1.3.26 and onwards the backend conversion ma
+ also use <ulink url="&url.usemarcon;">USEMARCON</ulink>.
+ If USEMARCON is enabled, the <literal>backend</literal> may include
+ a <literal>usemarcon</literal> element with two attributes:
+ <literal>stage1</literal> and <literal>stage2</literal> that points to
+ conversion files as interpreted by USEMARCON. One or both must be given.
</para>
</refsect1>
-
+
+ <refsect1><title>SCHEMA</title>
+ <para>
+ Schema is in two parts.. One for the filter itself and one for the
+ retrieval info.
+ </para>
+ <literallayout>
+ <xi:include
+ xi:href="../xml/schema/filter_record_transform.rnc"
+ xi:parse="text"
+ xmlns:xi="http://www.w3.org/2001/XInclude" />
+ </literallayout>
+ <literallayout>
+ <xi:include
+ xi:href="../xml/schema/retrievalinfo.rnc"
+ xi:parse="text"
+ xmlns:xi="http://www.w3.org/2001/XInclude" />
+ </literallayout>
+ </refsect1>
+
<refsect1><title>EXAMPLES</title>
<para>
A typical configuration looks like this:
<screen><![CDATA[
- <filter type="record_transform">
- <retrievalinfo>
- <retrieval syntax="grs-1"/>
- <retrieval syntax="usmarc" name="F"/>
- <retrieval syntax="usmarc" name="B"/>
- <retrieval syntax="xml" name="marcxml"
- identifier="info:srw/schema/1/marcxml-v1.1"
- backendsyntax="usmarc" backendname="F">
- <convert>
+ <filter type="record_transform">
+ <retrievalinfo xmlns="http://indexdata.com/yaz" version="1.0">
+ <retrieval syntax="xml" name="dc"
+ identifier="info:srw/schema/1/dc-v1.1">
+ <backend syntax="usmarc" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="marc-8"/>
- </convert>
+ <xslt stylesheet="../xml/xslt/MARC21slim2DC.xsl"/>
+ </backend>
</retrieval>
- <retrieval syntax="xml" name="danmarc"
- backendsyntax="usmarc" backendname="F">
- <convert>
- <marc inputformat="marc" outputformat="marcxchange"
- inputcharset="marc-8"/>
- </convert>
+ <retrieval syntax="opac"/>
+ <retrieval syntax="xml" name="opac">
+ <backend syntax="opac" name="F">
+ <marc inputformat="marc" outputformat="marcxml"
+ inputcharset="marc-8"/>
+ </backend>
</retrieval>
- <retrieval syntax="xml" name="dc"
- identifier="info:srw/schema/1/dc-v1.1"
- backendsyntax="usmarc" backendname="F">
- <convert>
- <marc inputformat="marc" outputformat="marcxml"
- inputcharset="marc-8"/>
- <xslt stylesheet="xml/xslt/MARC21slim2DC.xsl"/>
- </convert>
+ <retrieval syntax="usmarc">
+ <backend syntax="usmarc" name="F">
+ </backend>
+ </retrieval>
+ <retrieval syntax="usmarc" name="C">
+ <backend syntax="unimarc" name="F">
+ <usemarcon stage1="/etc/usemarcon/uni2us/uni2us.ini"/>
+ </backend>
</retrieval>
</retrievalinfo>
- </filter>
+ </filter>
]]>
</screen>
</para>
- </refsect1>
-
+ </refsect1>
+
<refsect1><title>SEE ALSO</title>
<para>
<citerefentry>
</citerefentry>
</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
+mode: nxml
+nxml-child-indent: 1
End:
-->