Added retrieval handling support in Generic Frontend Server to support
[yaz-moved-to-github.git] / include / yaz / record_conv.h
index 1ffae60..0bbca68 100644 (file)
@@ -23,7 +23,7 @@
  * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
  * OF THIS SOFTWARE.
  *
- * $Id: record_conv.h,v 1.1 2006-05-02 20:47:45 adam Exp $
+ * $Id: record_conv.h,v 1.4 2006-05-07 14:48:24 adam Exp $
  */
 /**
  * \file record_conv.h
@@ -34,6 +34,7 @@
 #define YAZ_RECORD_CONV_H
 
 #include <stddef.h>
+#include <yaz/wrbuf.h>
 #include <yaz/yconfig.h>
 
 YAZ_BEGIN_CDECL
@@ -51,47 +52,48 @@ YAZ_EXPORT yaz_record_conv_t yaz_record_conv_create(void);
 */
 YAZ_EXPORT void yaz_record_conv_destroy(yaz_record_conv_t p);
 
-
 /** configures record conversion
     \param p record conversion handle
     \param node xmlNode pointer (root element of XML config)
     \retval 0 success
     \retval -1 failure
+
+    On failure, use yaz_record_conv_get_error to get error string.
     
     \verbatim
     <convert>
       <xslt stylesheet="dc2marcxml.xsl"/>
-      <xmltomarc charset="marc-8"/>
+      <marc inputformat="xml" outputformat="marcxml" outputcharset="marc-8"/>
     </convert>
     \endverbatim
 
     \verbatim
     <convert>
-      <marctoxml charset="marc-8"/>
+      <marc inputformat="marc" outputformat="marcxml" inputcharset="marc-8"/>
       <xslt stylesheet="marcxml2mods.xsl"/>
       <xslt stylesheet="mods2dc.xsl"/>
     </convert>
     \endverbatim
 
-    For retrieval (ignore here):
-    \verbatim
-    <retrievalinfo>
-       <retrieval syntax="usmarc" name="marcxml"
-            identifier="info:srw/schema/1/marcxml-v1.1"
-       >
-         <title>MARCXML</title>
-         <backend syntax="xml" name="dc" charset="utf-8"/>
-         <convert>
-           <xslt stylesheet="dc2marcxml.xsl"/>
-           <xmltomarc charset="marc-8"/>
-         </convert>
-       </retrieval>
-    </retrievalinfo>
-    \endverbatim
+
 */
 YAZ_EXPORT
 int yaz_record_conv_configure(yaz_record_conv_t p, const void *node);
 
+/** performs record conversion
+    \param p record conversion handle
+    \param input_record_buf input record buffer
+    \param input_record_len length of input record buffer
+    \param output_record resultint record (WRBUF string)
+    \retval 0 success
+    \retval -1 failure
+
+    On failure, use yaz_record_conv_get_error to get error string.
+*/
+YAZ_EXPORT
+int yaz_record_conv_record(yaz_record_conv_t p, const char *input_record_buf,
+                           size_t input_record_len,
+                           WRBUF output_record);
 
 /** returns error string (for last error)
     \param p record conversion handle
@@ -100,6 +102,14 @@ int yaz_record_conv_configure(yaz_record_conv_t p, const void *node);
 YAZ_EXPORT
 const char *yaz_record_conv_get_error(yaz_record_conv_t p);
 
+
+/** set path for opening stylesheets etc.
+    \param p record conversion handle
+    \param path file path (UNIX style with : / Windows with ;)
+*/    
+YAZ_EXPORT
+void yaz_record_conv_set_path(yaz_record_conv_t p, const char *path);
+
 YAZ_END_CDECL
 
 #endif