The leader spec is given as attribute leaderspec for element marc.
For example to convert a MARC21 record from MARC-8 to UTF-8:
<marc inputformat="marc" outputformat="marc"
inputcharset="marc-8" outputcharset="utf-8 "leaderspec="9=a"/>
const char *output_charset;
int input_format_mode;
int output_format_mode;
const char *output_charset;
int input_format_mode;
int output_format_mode;
+ const char *leader_spec;
};
/** \brief tranformation info (rule info) */
};
/** \brief tranformation info (rule info) */
info->output_charset = 0;
info->input_format_mode = 0;
info->output_format_mode = 0;
info->output_charset = 0;
info->input_format_mode = 0;
info->output_format_mode = 0;
for (attr = ptr->properties; attr; attr = attr->next)
{
for (attr = ptr->properties; attr; attr = attr->next)
{
else if (!xmlStrcmp(attr->name, BAD_CAST "outputformat") &&
attr->children && attr->children->type == XML_TEXT_NODE)
output_format = (const char *) attr->children->content;
else if (!xmlStrcmp(attr->name, BAD_CAST "outputformat") &&
attr->children && attr->children->type == XML_TEXT_NODE)
output_format = (const char *) attr->children->content;
+ else if (!xmlStrcmp(attr->name, BAD_CAST "leaderspec") &&
+ attr->children && attr->children->type == XML_TEXT_NODE)
+ info->leader_spec =
+ nmem_strdup(info->nmem,(const char *) attr->children->content);
else
{
wrbuf_printf(wr_error, "Element <marc>: expected attributes"
else
{
wrbuf_printf(wr_error, "Element <marc>: expected attributes"
yaz_marc_t mt = yaz_marc_create();
yaz_marc_xml(mt, mi->output_format_mode);
yaz_marc_t mt = yaz_marc_create();
yaz_marc_xml(mt, mi->output_format_mode);
+ if (mi->leader_spec)
+ yaz_marc_leader_spec(mt, mi->leader_spec);
+
if (cd)
yaz_marc_iconv(mt, cd);
if (mi->input_format_mode == YAZ_MARC_ISO2709)
if (cd)
yaz_marc_iconv(mt, cd);
if (mi->input_format_mode == YAZ_MARC_ISO2709)