proper XPath
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 3 Mar 2009 00:58:27 +0000 (00:58 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 3 Mar 2009 00:58:27 +0000 (00:58 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@12363 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Ingest.pm

index 0470cd5..5a0562e 100644 (file)
@@ -1098,23 +1098,23 @@ sub _extract_856_uris {
 
     for my $node (@nodes) {
         # first, is there a URI?
-        my $href = $node->findvalue('[local-name()="subfield" and @code="u"]/text()');
+        my $href = $node->findvalue('*[local-name()="subfield" and @code="u"]/text()');
         next unless ($href);
 
         # now, find the best possible label
-        my $label = $node->findvalue('[local-name()="subfield" and @code="y"]/text()');
-        $label ||= $node->findvalue('[local-name()="subfield" and @code="3"]/text()');
+        my $label = $node->findvalue('*[local-name()="subfield" and @code="y"]/text()');
+        $label ||= $node->findvalue('*[local-name()="subfield" and @code="3"]/text()');
         $label ||= $href;
 
         # look for use info
-        my $use = $node->findvalue('[local-name()="subfield" and @code="z"]/text()');
-        $use ||= $node->findvalue('[local-name()="subfield" and @code="2"]/text()');
-        $use ||= $node->findvalue('[local-name()="subfield" and @code="n"]/text()');
+        my $use = $node->findvalue('*[local-name()="subfield" and @code="z"]/text()');
+        $use ||= $node->findvalue('*[local-name()="subfield" and @code="2"]/text()');
+        $use ||= $node->findvalue('*[local-name()="subfield" and @code="n"]/text()');
 
         # moving on to the URI owner
-        my $owner = $node->findvalue('[local-name()="subfield" and @code="w"]/text()');
-        $owner ||= $node->findvalue('[local-name()="subfield" and @code="n"]/text()');
-        $owner ||= $node->findvalue('[local-name()="subfield" and @code="9"]/text()'); # Evergreen special sauce
+        my $owner = $node->findvalue('*[local-name()="subfield" and @code="w"]/text()');
+        $owner ||= $node->findvalue('*[local-name()="subfield" and @code="n"]/text()');
+        $owner ||= $node->findvalue('*[local-name()="subfield" and @code="9"]/text()'); # Evergreen special sauce
 
         $owner =~ s/^.*?\((\w+)\).*$/$1/o; # unwrap first paren-enclosed string and then ...