Provided by: libmarc-spec-perl_2.0.3-1_all bug

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>

SEE ALSO

       •   MARC::Spec

       •   MARC::Spec::Field

       •   MARC::Spec::Subfield

       •   MARC::Spec::Indicator

       •   MARC::Spec::Subspec

       •   MARC::Spec::Comparisonstring

       •   MARC::Spec::Parser