From 63ccfa923cb4adef948792b49e8a222cf3a236bf Mon Sep 17 00:00:00 2001 From: Jason Etheridge Date: Fri, 20 Feb 2015 20:53:35 -0500 Subject: [PATCH] .get_marc_tag Useful since you can't get unnormalized values out of metabib.full_rec Signed-off-by: Jason Etheridge --- sql/base/base.sql | 15 +++++++++++++++ 1 files changed, 15 insertions(+), 0 deletions(-) diff --git a/sql/base/base.sql b/sql/base/base.sql index aa3e990..896a566 100644 --- a/sql/base/base.sql +++ b/sql/base/base.sql @@ -2124,3 +2124,18 @@ CREATE OR REPLACE FUNCTION migration_tools.duplicate_template (INTEGER, INTEGER[ END; $$ LANGUAGE PLPGSQL STRICT VOLATILE; +CREATE OR REPLACE FUNCTION migration_tools.get_marc_tag (TEXT, TEXT, TEXT) RETURNS TEXT AS $$ + my ($marcxml, $tag, $subfield) = @_; + + use MARC::Record; + use MARC::File::XML; + use MARC::Field; + + my $field; + eval { + my $marc = MARC::Record->new_from_xml($marcxml, 'UTF-8'); + $field = $marc->field($tag); + }; + return $field->as_string($subfield); +$$ LANGUAGE PLPERLU STABLE; + -- 1.7.2.5