zoom: doc updates WRT content proxy host
[metaproxy-moved-to-github.git] / doc / record_transform.xml
index 5ec12a0..9d20a30 100644 (file)
@@ -1,28 +1,34 @@
-<!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.1 2006-10-12 08:27:35 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 Z39.50 presentResponse 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 honour, and transforming
+   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 exisitng record formats, and transform
+   specified, to fetch only existing record formats, and transform
    them on the fly to requested record syntaxes.
   </para> 
   <para>
    element. The <literal>syntax</literal> attribute is mandatory, but
    the <literal>name</literal> attribute
    may be omitted, in which case any 
-   element name is accepted. An additonal
-   <literal>identifier</literal> attribute can be added to explicetly
+   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>&lt;convert&gt;</literal> element are specified.  
-  Record conversions come in two flavours:
-  <literal>&lt;marc&gt;</literal> binary conversions between different
-  binary MARC formats and MarcXML formats, and
-  <literal>&lt;xslt&gt;</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. 
-  </para>
-  <para>
-   The binary MARC record transformations
- <literal>&lt;marc&gt;</literal> are defined using the following
-   attributes: <literal>inputformat</literal>, <literal>outputformat</literal>,
-   <literal>inputcharset</literal> and  <literal>outputcharset</literal>.
-  </para>
-  <para>
-   XML <literal>&lt;xslt&gt;</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.
+    The <literal>&lt;retrieval&gt;</literal> element and the content
+    is described in the 
+    <ulink url="&url.yaz.retrieval;">Retrieval Facility</ulink> section
+    of the YAZ manual.
   </para>
  </refsect1>
  
+ <refsect1><title>SCHEMA</title>
+   <literallayout><xi:include
+                    xi:href="../xml/schema/filter_record_transform.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>
       </retrievalinfo>
-   </filter>
+    </filter>
 ]]>
    </screen>
   </para>
 
 <!-- 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:
 -->