X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2Fmarcdisp.h;h=858e55877b62ef8a562d602383cedbaaea296526;hb=4aee8993113119c95924d9be4ed2707d5034348c;hp=834e37f92b42cce98dbcdf73c381ec4249d30edf;hpb=401da56d4a26f687cd42024bdef6f29a29bb7663;p=yaz-moved-to-github.git diff --git a/include/yaz/marcdisp.h b/include/yaz/marcdisp.h index 834e37f..858e558 100644 --- a/include/yaz/marcdisp.h +++ b/include/yaz/marcdisp.h @@ -1,5 +1,5 @@ -/* - * Copyright (c) 1995-2007, Index Data +/* This file is part of the YAZ toolkit. + * Copyright (C) 1995-2008 Index Data. * All rights reserved. * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -24,7 +24,6 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* $Id: marcdisp.h,v 1.28 2007-03-19 14:40:06 adam Exp $ */ /** * \file marcdisp.h @@ -40,6 +39,7 @@ #include #include +#include YAZ_BEGIN_CDECL @@ -70,9 +70,12 @@ YAZ_EXPORT void yaz_marc_xml(yaz_marc_t mt, int xmlmode); /** \brief Output format: check only (no marc output) */ #define YAZ_MARC_CHECK 6 -/** \brief supply iconv handle for character set conversion .. */ +/** \brief set iconv handle for character set conversion .. */ YAZ_EXPORT void yaz_marc_iconv(yaz_marc_t mt, yaz_iconv_t cd); +/** \brief supply iconv handle for character set conversion .. */ +YAZ_EXPORT yaz_iconv_t yaz_marc_get_iconv(yaz_marc_t mt); + /** \brief set debug level \param mt handle \param level level, where 0=lowest, 1 more debug, 2 even more @@ -159,6 +162,7 @@ int yaz_marc_read_line(yaz_marc_t mt, void (*ungetbyte)(int b, void *client_data), void *client_data); +#if YAZ_HAVE_XML2 /** \brief parses MARCXML/MarcXchange record from xmlNode pointer \param mt handle \param ptr is a pointer to root xml node @@ -166,6 +170,7 @@ int yaz_marc_read_line(yaz_marc_t mt, Returns 0=OK, -1=ERROR */ YAZ_EXPORT int yaz_marc_read_xml(yaz_marc_t mt, const xmlNode *ptr); +#endif /** \brief writes record in line format \param mt handle @@ -211,6 +216,7 @@ YAZ_EXPORT int yaz_marc_write_iso2709(yaz_marc_t mt, WRBUF wrbuf); */ YAZ_EXPORT int yaz_marc_write_mode(yaz_marc_t mt, WRBUF wrbuf); +#if YAZ_HAVE_XML2 /** \brief writes MARC record as libxml2 tree \param mt handle \param root_ptr pointer to record node @@ -225,6 +231,7 @@ int yaz_marc_write_xml(yaz_marc_t mt, xmlNode **root_ptr, const char *ns, const char *format, const char *type); +#endif /** \brief sets leader spec (for modifying bytes in 24 byte leader) \param mt handle @@ -295,6 +302,7 @@ void yaz_marc_add_controlfield(yaz_marc_t mt, const char *tag, const char *data, size_t data_len); +#if YAZ_HAVE_XML2 /** \brief adds controlfield to MARC structure using xml Nodes \param mt handle \param ptr_tag value of tag (TEXT xmlNode) @@ -303,7 +311,7 @@ void yaz_marc_add_controlfield(yaz_marc_t mt, const char *tag, YAZ_EXPORT void yaz_marc_add_controlfield_xml(yaz_marc_t mt, const xmlNode *ptr_tag, const xmlNode *ptr_data); - +#endif /** \brief adds datafield to MARC structure using strings \param mt handle @@ -315,6 +323,7 @@ YAZ_EXPORT void yaz_marc_add_datafield(yaz_marc_t mt, const char *tag, const char *indicator, size_t indicator_len); +#if YAZ_HAVE_XML2 /** \brief adds datafield to MARC structure using xml Nodes \param mt handle \param ptr_tag value of tag (TEXT xmlNode) @@ -324,7 +333,7 @@ void yaz_marc_add_datafield(yaz_marc_t mt, const char *tag, YAZ_EXPORT void yaz_marc_add_datafield_xml(yaz_marc_t mt, const xmlNode *ptr_tag, const char *indicator, size_t indicator_len); - +#endif /** \brief returns memory for MARC handle \param mt handle @@ -359,6 +368,26 @@ int yaz_marc_decode_formatstr(const char *arg); YAZ_EXPORT void yaz_marc_write_using_libxml2(yaz_marc_t mt, int enable); +/** \brief Performs "pretty" display of OPAC record to WRBUF */ +YAZ_EXPORT void yaz_display_OPAC(WRBUF wrbuf, Z_OPACRecord *r, int flags); + +/** \brief Performs "pretty" display of OPAC record to WRBUF using marc_t */ +YAZ_EXPORT void yaz_opac_decode_wrbuf(yaz_marc_t mt, Z_OPACRecord *r, WRBUF wrbuf); + + +/** \brief flushes records + \param mt handle + \param wr WRBUF for output + \retval 0 OK + \retval -1 ERROR +*/ +YAZ_EXPORT int yaz_marc_write_trailer(yaz_marc_t mt, WRBUF wr); + +/** \brief enables record collection output + \param mt handle +*/ +YAZ_EXPORT void yaz_marc_enable_collection(yaz_marc_t mt); + YAZ_END_CDECL #endif