* 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
#define YAZ_RECORD_CONV_H
#include <stddef.h>
+#include <yaz/wrbuf.h>
#include <yaz/yconfig.h>
YAZ_BEGIN_CDECL
*/
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
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