NAME

Biblio::SICI::ItemSegment - The item segment of a SICI

VERSION

version 0.04

SYNOPSIS

my $sici = Biblio::SICI->new();

$sici->item->issn('2232-7651');

DESCRIPTION

Please note: You are expected to not directly instantiate objects of this class!

The item segment of a SICI describes various aspects of the serial item referenced by the SICI. Unlike the contribution segment, which may be empty, the item segment is required!

ATTRIBUTES

For each attribute, clearer ("clear_") and predicate ("has_") methods are provided.

issn

The ISSN of the serial.

chronology

Identifies a specific date - usually the cover date - for an item of a serial title. Follows the format "YYYYMMDD" with only the applicable levels being used. For "MM", in addition to 01 to 12, the values 21 to 24 represent seasons (Spring, Summer, Fall, Winter) and the values 31 to 34 represent the four quarters of a year.

enumeration

Describes, which item of the serial is referenced. The most common way of identifying an item is using a combination of volume and issue numbers, which is why there are separate attributes for these kinds of data.

Please not that setting a value for enumeration means that any value present in the attributes volume, issue or supplOrIdx gets removed!

volume

The volume designation of the serial item.

Please note that setting a value for this attribute automatically clears the enumeration attribute.

issue

The issue designation of the serial item.

Please note that setting a value for this attribute automatically clears the enumeration attribute.

supplOrIdx

A one character code to describe if the SICI refers to either a supplement of the described item (represented as '+') or to an index (represented as '*') which is published independently from a regular item.

(If you whish to refer to an index within an item please have a look at the dpi attribute of the control segment!)

Please note that setting a value for this attribute automatically clears the enumeration attribute.

METHODS

LIST year()

Extracts the year info from the chronology attribute. Returns undef if no chronology has been set. May return either one or two values, depending on the given chronology. E.g.:

  • if the chronology value is 199624/199721 (an item published Winter 1996 / Spring 1997) this method will return (1996, 1997)

  • if the chronology value is 20021201 (item published on Dec. 1st, 2002) this method will return (2002)

LIST month()

Extracts the month(s) from the chronology. Returns undef if no chronology has been set or no month info is available from the chronology. May return either one or two values, depending on the given chronology. Each value may be in the ranges 01 to 12, or 21 to 24, or 31 to 34; with 21 to 24 being the codes for the seasons Spring, Summer, Fall, and Winter and 31 to 34 being the codes for the four quarters of a year (cf. the info on the chronology attribute). E.g.:

  • if the chronology value is 199911/12 (an item published November / December 1999) this method will return (11, 12)

  • if the chronology value is 20021201 (item published on Dec. 1st, 2002) this method will return (12)

  • if the chronology value is 200721/22 (an item published Spring / Summer 2007) this method will return (21, 22)

LIST day()

Extracts the days(s) from the chronology. Returns undef if no chronology has been set or no day info is available from the chronology. May return either one or two values, depending on the given chronology. E.g.:

  • if the chronology value is 19991101/02 (an item published November 1st / November 2nd 1999) this method will return (01, 02) (note the leading zeroes!); day spans are quite unlikely, but not prohibited

  • if the chronology value is 20021201 (item published on Dec. 1st, 2002) this method will return (01)

STRING to_string()

Returns a stringified representation of the data in the item segment.

reset()

Resets all attributes to their default values.

BOOL is_valid()

Checks if the data for the control segment conforms to the standard.

SEE ALSO

Biblio::SICI::Role::ValidSegment

AUTHOR

Heiko Jansen <hjansen@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Heiko Jansen.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.