+ # This is the expression in the ID-making stylesheet
+ # ../../zebra/zeerex2id.xsl
+ my $xc = irspy_xpath_context($rec);
+ my $id = $xc->find("concat(e:serverInfo/e:host, ':',
+ e:serverInfo/e:port, '/',
+ e:serverInfo/e:database)");
+ if (defined $oldid && $id ne $oldid) {
+ # Delete old record;
+ warn "IDs differ (old='$oldid' new='$id')";
+ my $p = $conn->package();
+ $p->option(action => "recordDelete");
+ $p->option(recordIdOpaque => $oldid);
+ $p->option(record => "<dummy/>"); # Work around Zebra bug
+ $p->send("update");
+ $p->destroy();
+ }
+