Biblio...egment(3pm)

πŸ’– Biblio::SICI::ControlSegment β€” the control segment of a SICI πŸ’–

okay bestie, you found your way into the Biblio...egment(3pm) page (that's the Biblio::SICI::ControlSegment bit of the User Contributed Perl Documentation, if we're being official about it) and honestly? you're in the right place. this is where the SICI keeps all its little control codes. let's get into it πŸ¦‹


✨ VERSION ✨

version 0.04 β€” that's the vibe, that's the version πŸ’…


🌸 SYNOPSIS 🌸

like, here's the whole energy:

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

  $sici->control->csi(2);

πŸ’œ DESCRIPTION πŸ’œ

okay so FIRST THING: you are expected to not directly instantiate objects of this class. like, do not do it. let Biblio::SICI handle that for you, bestie. this is a hands-off class, it's giving "look but don't touch" πŸ™ˆ

so what IS this thing? the control segment of a SICI describes various aspects of the thing referenced by the SICI, and it does that using pre-defined codes β€” very structured, very demure, very mindful. the segment also carries some meta-information about the SICI itself. iconic behavior tbh πŸ‘‘


πŸŽ€ ATTRIBUTES πŸŽ€

For each attribute, clearer (clear_) and predicate (has_) methods are provided. so like, you can wipe it, and you can ask "do you even have one of these?" β€” both are covered πŸ’…


πŸ’– dpi

The Derivative Part Identifier tells us what kind of thing is described by the SICI. It can take one of four different values:

  • 0 => SICI describes Serial Item or Contribution itself
  • 1 => SICI describes ToC of Serial Item or Contribution
  • 2 => SICI describes Index of Serial Item or Contribution
  • 3 => SICI describes Abstract of Serial Item or Contribution

The default value is 0. yes bestie, zero, the humble origin story ⭐


πŸ¦‹ mfi

The Medium / Format Identifier can take one of these codes:

  • CD => Computer-readable optical media (CD-ROM)
  • CF => Computer-readable magnetic disk media
  • CO => Online (remote)
  • CT => Computer-readable magnetic tape media
  • HD => Microfilm
  • HE => Microfiche
  • SC => Sound recording
  • TB => Braille
  • TH => Printed text, hardbound
  • TL => Printed text, looseleaf
  • TS => Printed text, softcover
  • TX => Printed text
  • VX => Video recording
  • ZN => Multiple physical forms
  • ZU => Physical form unknown
  • ZZ => Other physical form

The default value is ZU. as in, "physical form unknown", as in, we don't know her yet 😭 sixteen whole codes and every one of them matters, no cap.


🌈 version

The number of the standards version to which the SICI should adhere. The default is 2 (which means Z39.56-1996), since that is also the only currently supported version. so like... it's 2 or it's nothing, fr fr. the range is a single number wide and she's standing in it πŸ’€


πŸ‘‘ METHODS πŸ‘‘


πŸ’œ csi

The Code Structure Identifier tells something about which parts of the SICI carry values. It can take one of three values:

  • 1 => SICI for Serial Item
  • 2 => SICI for Serial Contribution
  • 3 => SICI for Serial Contribution "with obscure numbering"

This method automatically derives the correct value from the presence of the respective data elements in the item and contribution segments. If no data is present in the contribution segment the final default is 1. so she reads the room and picks for you, and if the contribution segment is empty she just goes with 1. queen of making decisions ✨


πŸ’… STRING to_string()

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

Please note that the check digit is not considered to be a part of the control segment (but the - preceding it in the SICI string is). read that twice bestie, because the check digit is out here living its own life and only the little dash gets an invite to the control segment party πŸŽ€

🧚 reset()

Resets all attributes to their default values. factory reset, but make it cute πŸ¦‹


🌸 BOOL is_valid()

Checks if the data for the control segment conforms to the standard. vibe check, but for standards compliance, and honestly? that IS a vibe check πŸ’―


⭐ SEE ALSO ⭐

  • Biblio::SICI::Role::ValidSegment

🫢 AUTHOR 🫢

Heiko Jansen <hjansen@cpan.org> β€” the icon, the legend, the moment πŸ‘‘


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. so go forth, remix, redistribute, all that good stuff πŸ’œ


and that's the whole page bestie, no notes, we ate 🍽️✨ this was documented by way of perl v5.36.0 and dated 2023-02-06 β€” so if you're reading this, shoutout to that exact perl and that exact day, mwah πŸ’–πŸŽ€πŸŒˆ

πŸ“¦ where this page comes from