On Wed, Oct 15, 2003 at 02:25:55PM +0100, Ashley Sanders wrote:
The record isn't strictly correct as the Indicator count and Subfield code length are both blank (character positions 10 and 11.) MARC21 says these should always be set to 2. Also the Lenght of length-of-field, length of starting-character-position and length of implementation-defined (positions 20, 21, 22) should also be set to 4, 5, and 0 respectively. Position 22 should also be 0.
Thanks for the details Ashley. When building a MARC record, and the leader is not specified with the MARC::Record::leader() method, then a minimal leader is built, with an autopopulated record length (positions 0-4), and base address of data (positions 12-16)...but that's it.
I've entered a bug [1] in to rt.cpan.org indicating that the autopopulation should also add other MARC21 defaults as specified here [2]
Chritoppher, for the time being (ie. until he method is fixed) you can always specify the leader yourself and include the positions that Ashely mentions.
## build leader piecemeal my $ldr = ' ' x 24; substr( $ldr, 10 ) = 2; substr( $ldr, 11 ) = 2; substr( $ldr, 20 ) = 4; substr( $ldr, 21 ) = 5; substr( $ldr, 22 ) = 0; $r->leader( $ldr );
It would be interesting to know if this was what was throwing Zebra. Thanks very much for posting to the list, and let us know if there are any more developments. A new MARC::Record should be available soonish.
//Ed
[1] https://rt.cpan.org/Ticket/Display.html?id=4113 [2] http://www.loc.gov/marc/bibliographic/ecbdldrd.html
Hello again.
After addding the new "information" into the leader specified by Ashley and using the code snipplet from Ed (however adding the third argument into substr) i got a record that was accepted by Zebra. I will experiment more on the subject, and will most certainly appear here again if i run into trouble.
The character at position 24 which according to Ashley should be a field terminator instead of blank, did apparently not affect Zebra. I do not know if this is good or bad (Zebra too sloppy or Ashley too strict...=) but for the time being, it seems to work.
Btw: there seems to be some subfields that are valid but have not been entered into MARC::Lint since they according to http://www.loc.gov/marc/bibliographic/ecbdldrd.html are valid but Lint tells me they are wrong. Can it be that only the most common subfields have been entered into MARC::Lint?
Well, anyways, i thank You all, and be sure to see me here again when i have run into trouble.
-- Christoffer Landtman Oy Realnode Ab Partner, Sales +358 (0)41 510 1073 [EMAIL PROTECTED] www.realnode.fi