NAME
MARC::Spec::Structure - base class
SYNOPSIS
use MARC::Spec::Field;
# create a new field
my $field = MARC::Spec::Field->new('246');
# field does inherit all attributes, predicates and methods
say $field->DOES('MARC::Spec::Structure'); # 1
DESCRIPTION
Is the base class for MARC::Spec::Field and MARC::Spec::Subfield.
METHODS
set_index_start_end (Str)
Sets MARC::Spec::Structure::$index_start and MARC::Spec::Structure::$index_end from an index position or range.
set_char_start_end (Str)
Sets MARC::Spec::Structure::$char_start and MARC::Spec::Structure::$char_end from an character position or range.
add_subspec(MARC::Spec::Subspec)
Appends a subspec to the array of the attribute subspecs. Parameter must be an instance of MARC::Spec::Subspec.
add_subspecs(ArrayRef[MARC::Spec::Subspec])
Appends subspecs to the array of the attribute subspecs. Parameter must be an ArrayRef and elements must be instances of MARC::Spec::Subspec.
PREDICATES
has_char_start
True if attribute char_start has an value and false otherwise.
has_char_end
True if attribute char_end has an value and false otherwise.
has_char_pos
True if attribute char_pos has an value and false otherwise.
has_subspecs
Returns true if attribute subspecs has an value and false otherwise.
ATTRIBUTES
base
Obligatory. Scalar. Normalized MARCspec without Subspecs.
char_start
If defined, the beginning character position of a character position or range.
char_end
If defined, the ending character position of a character position or range. Only present if MARC::Spec::Structure::$char_start is defined.
char_length
The difference of MARC::Spec::Structure::$char_start and MARC::Spec::Structure::$char_end if both are numeric (or else -1). Only present if MARC::Spec::Structure::$char_start is defined.
char_pos
If defined, the character position or range. Only present if MARC::Spec::Structure::$char_start is defined.
index_start
Obligatory. The beginning index of field repetitions. Maybe a positiv integer or the character '#'. Default is 0.
index_end
Obligatory. The ending index of field repetitions. Maybe a positiv integer or the character '#'. Default is '#'.
index_length
Obligatory. The difference of MARC::Spec::Structure::$index_start and MARC::Spec::Structure::$index_end if both are numeric. Default is -1.
AUTHOR
Carsten Klee <klee at cpan.org>
CONTRIBUTORS
Johann Rolschewski,
<jorol at cpan>
COPYRIGHT AND LICENSE
This software is copyright (c) 2016 by Carsten Klee.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
BUGS
Please report any bugs to https://github.com/MARCspec/MARC-Spec/issues