}
if ($key =~ /[a-h]/) {
# Enumeration specific details of holdings
- $self->{_mfhdh_FIELDS}->{$key}{UNIT} = undef;
+ $self->{_mfhdh_FIELDS}->{$key}{UNIT_TITLE} = undef;
$last_enum = $key;
}
} elsif ($key eq 'o') {
warn '$o specified prior to first enumeration'
unless defined($last_enum);
- $self->{_mfhdh_FIELDS}->{$last_enum}->{UNIT} = $val;
+ $self->{_mfhdh_FIELDS}->{$last_enum}->{UNIT_TITLE} = $val;
$last_enum = undef;
} elsif ($key =~ /[npq]/) {
$self->{_mfhdh_DESCR}->{$key} = $val;
}
}
+#
+# Given a field key, returns a unit title (if there is one), or undef
+# if there isn't
+#
+sub unit_title {
+ my ($self, $key) = @_;
+
+ if (exists $self->fields->{$key}) {
+ return $self->fields->{$key}{UNIT_TITLE};
+ } else {
+ return;
+ }
+}
+
sub seqno {
my $self = shift;
$skip_sep ||= ($key eq 'a');
- return ($skip_sep ? '' : $sep) . $capstr . $holding_values->{$key};
+ return ($skip_sep ? '' : $sep) . $capstr . $holding_values->{$key} .
+ ($self->unit_title($key) ? ' ' . $self->unit_title($key) : '');
}
#