[OPEN-ILS-GENERAL] unAPI from getAttribute in WWW/SuperCat.pm?
John Merriam
jmerriam at biblio.org
Tue Jan 2 09:50:27 EST 2018
Hello. I am working in the perl module WWW/SuperCat.pm and trying to
get the id of a row in asset.copy. For some reason I am getting back
what looks like an unAPI URI instead of just the id of the row. I've
been staring at this for a while and not sure why this is happening or
the best way to fix it. This is around line 2030 in my WWW/SuperCat.pm
in EG 2.12.8. The basic code flow in WWW/SuperCat.pm is:
results retrieved from cstore
my $marcxml = XML::LibXML->load_xml(...);
my @copies;
for my $node ($marcxml->getElementsByTagName('holdings')) {
for my $volume ($node->getElementsByTagName('volume')) {
for my $copy ($volume->getElementsByTagName('copy')) {
push @copies, {
f => $copy->getAttribute('id'),
};
f ends up with unAPI stuff in it instead of just the row id that I am
looking for. It looks like:
ftag:open-ils.org:U2 at acp/5826234
The part that I want is after the / I put in a hack to manipulate the
unAPI string and strip out the / and everything in front of it but I
don't want to leave it that way. I would like to do this the correct way.
I'm not sure if it really is supposed to behave this way or not.
Assuming it is, I was thinking maybe a function exists that can extract
the row id from the unAPI URI? I wasn’t able to find one.
Any ideas how to correctly get just the real row id from the database
without the unAPI stuff?
Thanks in advance!
--
John Merriam
Evergreen System Specialist
Bibliomation, Inc.
24 Wooster Ave.
Waterbury, CT 06708
203-577-4070 x108
More information about the Open-ils-general
mailing list