X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fmarc_read_xml.c;h=f1539c5f18a241ab576c73623272425d810607a8;hp=d47bbab98c4bcb6b02927ac3167b8a4663683563;hb=fcc2b1bffbd6dd86fc8f95f1e2e6e8b2a94e731e;hpb=0c46d2e66bdeea1600e700124a81a5d0a65d349e diff --git a/src/marc_read_xml.c b/src/marc_read_xml.c index d47bbab..f1539c5 100644 --- a/src/marc_read_xml.c +++ b/src/marc_read_xml.c @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2013 Index Data + * Copyright (C) Index Data * See the file LICENSE for details. */ @@ -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; }