Factor IRSpy-independent _really_write_record() out of
[irspy-moved-to-github.git] / lib / ZOOM / IRSpy.pm
index 83d417c..52c586e 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: IRSpy.pm,v 1.40 2006-10-26 18:02:59 mike Exp $
+# $Id: IRSpy.pm,v 1.42 2006-10-27 15:36:04 mike Exp $
 
 package ZOOM::IRSpy;
 
@@ -256,14 +256,21 @@ sub _rewrite_record {
 
     $conn->log("irspy", "rewriting XML record");
     my $rec = $this->_irspy_to_zeerex($conn);
-    my $p = $this->{conn}->package();
+    _really_rewrite_record($this->{conn}, $rec);
+}
+
+
+sub _really_rewrite_record {
+    my($conn, $rec) = @_;
+
+    my $p = $conn->package();
     $p->option(action => "specialUpdate");
     my $xml = $rec->toString();
     $p->option(record => $xml);
     $p->send("update");
     $p->destroy();
 
-    $p = $this->{conn}->package();
+    $p = $conn->package();
     $p->send("commit");
     $p->destroy();
     if (0) {
@@ -576,6 +583,7 @@ sub irspy_xpath_context {
     my $root = $doc->getDocumentElement();
     my $xc = XML::LibXML::XPathContext->new($root);
     $xc->registerNs(e => 'http://explain.z3950.org/dtd/2.0/');
+    $xc->registerNs(i => $irspy_ns);
     return $xc;
 }