if defined $user;
my $conn = new ZOOM::Connection($dbname, 0, @options)
- or die "$0: can't connection to IRSpy database 'dbname'";
+ or die "$0: can't connect to IRSpy database 'dbname'";
my $xslt = new XML::LibXSLT;
sub connect_to_registry {
my %args = @_;
- # XXX: we could also handle her: user, password, elementSetName
+ # XXX: we could also handle here: user, password, elementSetName
my $database = $ENV{IRSpyDbName} || "localhost:8018/IR-Explain---1";
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() });
}