IDZEBRA
2.2.7
|
#include <stdio.h>
#include <ctype.h>
#include <assert.h>
#include <yaz/yaz-util.h>
#include <yaz/snprintf.h>
#include <yaz/marcdisp.h>
#include <idzebra/recgrs.h>
#include "marcomp.h"
#include "inline.h"
Go to the source code of this file.
Data Structures | |
struct | marc_info |
Macros | |
#define | MARC_DEBUG 0 |
#define | MARCOMP_DEBUG 0 |
Functions | |
static data1_node * | grs_read_iso2709 (struct grs_read_info *p, int marc_xml) |
static char * | get_data (data1_node *n, int *len) |
static data1_node * | lookup_subfield (data1_node *node, const char *name) |
static inline_subfield * | lookup_inline_subfield (inline_subfield *pisf, const char *name) |
static inline_subfield * | cat_inline_subfield (mc_subfield *psf, WRBUF buf, inline_subfield *pisf) |
static void | cat_inline_field (mc_field *pf, WRBUF buf, data1_node *subfield) |
static data1_node * | cat_subfield (mc_subfield *psf, WRBUF buf, data1_node *subfield) |
static data1_node * | cat_field (struct grs_read_info *p, mc_field *pf, WRBUF buf, data1_node *field) |
static int | is_empty (char *s) |
static void | parse_data1_tree (struct grs_read_info *p, const char *mc_stmnt, data1_node *root) |
data1_node * | grs_read_marcxml (struct grs_read_info *p) |
data1_node * | grs_read_marc (struct grs_read_info *p) |
static void * | init_marc (Res res, RecType rt) |
static ZEBRA_RES | config_marc (void *clientData, Res res, const char *args) |
static void | destroy_marc (void *clientData) |
static int | extract_marc (void *clientData, struct recExtractCtrl *ctrl) |
static int | retrieve_marc (void *clientData, struct recRetrieveCtrl *ctrl) |
static int | extract_marcxml (void *clientData, struct recExtractCtrl *ctrl) |
static int | retrieve_marcxml (void *clientData, struct recRetrieveCtrl *ctrl) |
Variables | |
static struct recType | marc_type |
static struct recType | marcxml_type |
RecType | idzebra_filter [] |
#define MARC_DEBUG 0 |
Definition at line 34 of file mod_grs_marc.c.
#define MARCOMP_DEBUG 0 |
Definition at line 35 of file mod_grs_marc.c.
|
static |
Definition at line 630 of file mod_grs_marc.c.
References cat_subfield(), data1_node::child, DATA1N_data, mc_field::end, get_data(), mc_field::ind1, mc_field::ind2, mc_field::interval, mc_field::list, mc_field::name, data1_node::next, mc_field::start, data1_node::tag, data1_node::u, and data1_node::which.
Referenced by parse_data1_tree().
|
static |
Definition at line 473 of file mod_grs_marc.c.
References cat_inline_subfield(), inline_subfield::data, get_data(), inline_field::ind1, mc_field::ind1, inline_field::ind2, mc_field::ind2, inline_destroy_field(), inline_mk_field(), inline_parse(), inline_field::list, mc_field::list, inline_field::name, mc_field::name, data1_node::next, data1_node::tag, and data1_node::u.
Referenced by cat_subfield().
|
static |
Definition at line 399 of file mod_grs_marc.c.
References mc_subfield::child, inline_subfield::data, mc_subfield::end, mc_subfield::interval, lookup_inline_subfield(), MC_SF, MC_SFGROUP, MC_SFVARIANT, inline_subfield::name, mc_subfield::name, inline_subfield::next, mc_subfield::next, mc_subfield::prefix, mc_subfield::start, mc_subfield::suffix, mc_subfield::u, and mc_subfield::which.
Referenced by cat_inline_field().
|
static |
Definition at line 550 of file mod_grs_marc.c.
References cat_inline_field(), mc_subfield::child, mc_subfield::end, get_data(), mc_subfield::in_line, mc_subfield::interval, lookup_subfield(), MC_SF, MC_SFGROUP, MC_SFVARIANT, mc_subfield::name, data1_node::next, mc_subfield::next, mc_subfield::prefix, mc_subfield::start, mc_subfield::suffix, data1_node::tag, data1_node::u, mc_subfield::u, and mc_subfield::which.
Referenced by cat_field().
Definition at line 841 of file mod_grs_marc.c.
References marc_info::type, and ZEBRA_OK.
|
static |
Definition at line 849 of file mod_grs_marc.c.
|
static |
Definition at line 856 of file mod_grs_marc.c.
References grs_read_marc(), and zebra_grs_extract().
|
static |
Definition at line 876 of file mod_grs_marc.c.
References grs_read_marcxml(), and zebra_grs_extract().
|
static |
Definition at line 342 of file mod_grs_marc.c.
References data1_node::child, d1_isspace, data1_node::data, DATA1N_data, DATA1N_tag, data1_node::next, data1_node::u, and data1_node::which.
Referenced by cat_field(), cat_inline_field(), and cat_subfield().
|
static |
Definition at line 41 of file mod_grs_marc.c.
References grs_read_info::clientData, data1_absyn_getmarctab(), data1_mk_root(), data1_mk_tag(), data1_mk_tag_n(), data1_mk_text_n(), data1_tag_add_attr(), grs_read_info::dh, ZebraRecStream::endf, MARC_DEBUG, grs_read_info::mem, outf, ZebraRecStream::readf, grs_read_info::stream, ZebraRecStream::tellf, and marc_info::type.
Referenced by grs_read_marc(), and grs_read_marcxml().
data1_node* grs_read_marc | ( | struct grs_read_info * | p | ) |
Definition at line 815 of file mod_grs_marc.c.
References data1_absyn_getelements(), DATA1T_string, grs_read_info::dh, grs_read_iso2709(), data1_element::next, parse_data1_tree(), data1_tag::string, data1_element::tag, data1_tag::value, and data1_tag::which.
Referenced by extract_marc().
data1_node* grs_read_marcxml | ( | struct grs_read_info * | p | ) |
Definition at line 796 of file mod_grs_marc.c.
References data1_absyn_getelements(), DATA1T_string, grs_read_info::dh, grs_read_iso2709(), data1_element::next, parse_data1_tree(), data1_tag::string, data1_element::tag, data1_tag::value, and data1_tag::which.
Referenced by extract_marcxml().
Definition at line 834 of file mod_grs_marc.c.
References marc_info::type.
|
static |
Definition at line 704 of file mod_grs_marc.c.
Referenced by parse_data1_tree().
|
static |
Definition at line 386 of file mod_grs_marc.c.
References inline_subfield::name, and inline_subfield::next.
Referenced by cat_inline_subfield().
|
static |
Definition at line 374 of file mod_grs_marc.c.
References data1_node::next, data1_node::tag, and data1_node::u.
Referenced by cat_subfield().
|
static |
Definition at line 716 of file mod_grs_marc.c.
References cat_field(), data1_node::child, data1_absyn_getmarctab(), data1_mk_tag_n(), data1_mk_text_n(), grs_read_info::dh, mc_field::end, mc_field::interval, is_empty(), data1_marctab::leader, mc_destroy_context(), mc_destroy_field(), mc_getfield(), mc_mk_context(), grs_read_info::mem, mc_field::name, data1_node::next, mc_field::start, data1_node::tag, and data1_node::u.
Referenced by grs_read_marc(), and grs_read_marcxml().
|
static |
Definition at line 861 of file mod_grs_marc.c.
|
static |
Definition at line 881 of file mod_grs_marc.c.
RecType idzebra_filter[] |
Definition at line 900 of file mod_grs_marc.c.
|
static |
Definition at line 861 of file mod_grs_marc.c.
|
static |
Definition at line 881 of file mod_grs_marc.c.