From 878552aa2cec8e0efc531ea43cbe9971cbde7189 Mon Sep 17 00:00:00 2001 From: phasefx Date: Sat, 15 Dec 2007 16:08:52 +0000 Subject: [PATCH] backporting dbs' Event.pm namespace patch since .getAttribute in my local version of libxml isn't picking up xml:lang in ils_events.xml 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 | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Open-ILS/src/perlmods/OpenILS/Event.pm b/Open-ILS/src/perlmods/OpenILS/Event.pm index 1a465ca455..538520b630 100644 --- a/Open-ILS/src/perlmods/OpenILS/Event.pm +++ b/Open-ILS/src/perlmods/OpenILS/Event.pm @@ -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; } } -- 2.11.0