Generate an automatic UDB only if no explicit one was provided.
authorMike Taylor <mike@indexdata.com>
Fri, 12 Dec 2014 12:47:08 +0000 (12:47 +0000)
committerMike Taylor <mike@indexdata.com>
Fri, 12 Dec 2014 12:47:08 +0000 (12:47 +0000)
lib/ZOOM/IRSpy.pm

index 5e6519f..49e7932 100644 (file)
@@ -382,8 +382,10 @@ sub _rewrite_zeerex_record {
     my($nok, $nall, $percent) = calc_reliability_stats($xc);
     modify_xml_document($xc, $_specialFields, { reliability => $percent });
 
-    if (!defined $oldid) {
-       # New record: generate a UDB for it.
+    my $xpath = $_specialFields->{udb}->[3];
+    my $value = $xc->findvalue($xpath);
+    if (!defined $oldid && (!defined $value || $value eq '')) {
+       # New record with no explicit UDB: generate a UDB for it.
        modify_xml_document($xc, $_specialFields, { udb => _next_udb() });
     }