From 96247c87b3e448cd7cad1b0bf73a3c0b954107d7 Mon Sep 17 00:00:00 2001 From: dbs Date: Wed, 31 Oct 2007 02:14:52 +0000 Subject: [PATCH] Use getAttributeNS with the XML namespace to retrieve the xml:lang attributes from ils_events.xml. Throw explicit error messages if things go bad. git-svn-id: svn://svn.open-ils.org/ILS/trunk@7948 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/perlmods/OpenILS/Event.pm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Open-ILS/src/perlmods/OpenILS/Event.pm b/Open-ILS/src/perlmods/OpenILS/Event.pm index 45f5d3b8c3..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,10 +76,16 @@ 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'); - if (!exists $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