X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fmarc_read_xml.c;h=7356ca2f67973d04fb36ce6148b4231e20c9f106;hp=d47bbab98c4bcb6b02927ac3167b8a4663683563;hb=b06636208651777c08e2456bf3b5953fc3c0f2c2;hpb=0c46d2e66bdeea1600e700124a81a5d0a65d349e diff --git a/src/marc_read_xml.c b/src/marc_read_xml.c index d47bbab..7356ca2 100644 --- a/src/marc_read_xml.c +++ b/src/marc_read_xml.c @@ -185,18 +185,14 @@ static int yaz_marc_read_xml_leader(yaz_marc_t mt, const xmlNode **ptr_p, for(; p; p = p->next) if (p->type == XML_TEXT_NODE) leader = (const char *) p->content; - break; - } - else - { - yaz_marc_cprintf( - mt, "Expected element 'leader', got '%.80s'", ptr->name); + ptr = ptr->next; } + break; } if (!leader) { - yaz_marc_cprintf(mt, "Missing element 'leader'"); - return -1; + yaz_marc_cprintf(mt, "Missing leader. Inserting fake leader"); + leader = "00000nam a22000000a 4500"; } if (strlen(leader) != 24) { @@ -420,9 +416,9 @@ int yaz_marc_read_xml(yaz_marc_t mt, const xmlNode *ptr) switch (format) { case YAZ_MARC_MARCXML: - return yaz_marc_read_xml_fields(mt, ptr->next, indicator_length); + return yaz_marc_read_xml_fields(mt, ptr, indicator_length); case YAZ_MARC_TURBOMARC: - return yaz_marc_read_turbo_xml_fields(mt, ptr->next, indicator_length); + return yaz_marc_read_turbo_xml_fields(mt, ptr, indicator_length); } return -1; }