backporting dbs' Event.pm namespace patch since .getAttribute in my local version...
authorphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sat, 15 Dec 2007 16:08:52 +0000 (16:08 +0000)
committerphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sat, 15 Dec 2007 16:08:52 +0000 (16:08 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_2@8220 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Event.pm

index 1a465ca..538520b 100644 (file)
@@ -1,4 +1,5 @@
 package OpenILS::Event;
+# vim:noet:ts=4
 use strict; use warnings;
 use XML::LibXML;
 use OpenSRF::Utils::SettingsClient;
@@ -75,9 +76,17 @@ sub _load_events {
        $descs = {};
        my @desc = $doc->documentElement->findnodes('//desc');
        for my $d (@desc) {
-               my $lang = $d->getAttribute('lang');
+               my $lang = $d->getAttributeNS('http://www.w3.org/XML/1998/namespace', 'lang');
                my $code = $d->parentNode->getAttribute('code');
-               $descs->{$lang} = {} unless $descs->{$lang};
+               unless ($descs && $lang && exists $descs->{$lang}) {
+                       $descs->{$lang} = {};
+                       if (!$descs) {
+                               $logger->error("No error description nodes found in $eventsxml.");
+                       }
+                       if (!$lang) {
+                               $logger->error("No xml:lang attribute found for node in $eventsxml.");
+                       }
+               }
                $descs->{$lang}->{$code} = $d->textContent;
        }
 }