Module updates for MARC error checking

[email protected] (Bryan Baldus)
Newsgroups perl.perl4lib
Message-ID <a06110400c2076abbbcfe@[4.254.84.215]>
I have posted new versions of MARC::Errorchecks (to CPAN and my home 
page [1]), MARC::Lint::CodeData (included in Errorchecks, my home 
page, and most recent version will be available in CVS on 
SourceForge, as part of MARC::Lint), and MARC::Lintadditions (at my 
home page only, since I would eventually like to move these checks 
into MARC::Lint). I have also posted a new version of 
LCSHchangesparserpl110.txt (to the inprocess directory of my home 
page). The script is used to parse a text version of LC's weekly new 
and changed headings Web pages to leave a tab-delimited text file of 
headings that have changed. Following LC's recent website redesign, 
the script currently complains about the first lines of the input 
files, but it seems to do a reasonably good job of creating the list 
of changed headings.

A question: Both MARC::Lint and MARC::Errorchecks in CPAN include a 
copy of MARC::Lint::CodeData. Should I update MARC::Lint to version 
1.43 with the only change being the inclusion of the new version 1.14 
of CodeData?

I have posted a new module, MARC::Lint::Lint_Authority.pm. This will 
be a module essentially copying MARC::Lint, but with a data section 
and methods for validating MARC format for Authority data rather than 
Bibliographic. An initial version of this module appears in the 
inprocess directory. I have not done much testing, but what little I 
have done seems to successfully do basic lint validation.

A description of the changes for the modules and the script appears below.

[1] My home page <http://home.inwave.com/eija>

Errorchecks.pm:

Version 1.12: Updated July 5-Nov. 17, 2006. Released Feb. 25, 2007.

  -Updated check_bk008_vs_300($record) to look for extra p. or v. 
after parenthetical qualifier.
  -Updated check_bk008_vs_300($record) to look for missing period 
after 'col' in subfield 'b'.
  -Replaced $field-tag() with $tag in error message reporting in 
check_nonpunctendingfields($record).
  -Turned off 50-field limit check in check_fieldlength($record).
  -Updated parse008vs300b($illcodes, $field300subb) to look for /map[ 
\,s]/ rather than just 'map' when 008 is coded 'b'.
  -Updated check_bk008_vs_bibrefandindex($record) to look for spacing 
on each side of parenthetical pagination.
  -Updated check_internal_spaces($record) to report 10 characters on 
either side of each set of multiple internal spaces.
  -Uncommented level-5 and level-7 leader values as acceptable. 
Level-3 is still commented out, but could be uncommented for 
libraries that allow it.
  -Includes version 1.14 of MARC::Lint::CodeData.

MARC::Lint::CodeData.pm:

Versions 1.09 to 1.14: Updated June 26, 2006-Jan. 8, 2007.

  -Added new source codes from Technical Notice of Jan. 5, 2007.
  -Added new source codes from Technical Notice of Nov. 14, 2006.
  -Added new source code from Technical Notice of Oct. 19, 2006.
  -Added new source codes from Technical Notice of Oct. 17, 2006.
  -Added new source codes from Technical Notice of Aug. 29, 2006.
  -Added new source codes from Technical Notice of June 23, 2006.

Lintadditions.pm:

Version 1.11: Updated June 12, 2006-Feb. 7, 2007. Released Feb. 25, 2007.

  -updated check_130(), check_6xx, and check_7xx to check for proper 
punctuation before subfield _l.
  -Updated check_240() to allow ? and ! before subfield _l, based on 
LCRI revision in 2006.
  -Updated check_050() to report error if subfield _a doesn't start 
with capital letters followed by digits.
  -Updated check_050() to report error if subfield _a ends in capital letter.
  -Replaced $field->tag() in warning statements with $tagno.
  -Revised $2 validation to split on '/', thus ignoring edition and 
language additions on valid codes
  -Updated check_440 to look for miscoded 2nd ind. using 
MARC::Lint::_check_article().
  -Updated 130, 240, 630, 730, and 830 checks to look for article, 
using MARC::Lint::_check_article().
  -Updated check_042() with source code from technical notice of Sept. 29, 2006.
  -Added TO DO item for determining whether check_130, 630, and 730 
can use the same code.

Script updates:

LCSHchangesparserpl110.txt

Version 1.10: Updated Dec. 7, 2006
  -Revised parsing to allow ! within heading (e.g., !Xu)
Version 1.09: Updated Sept. 8, 2006
  -Misc. fixes, including:
  --Closing up spaces in 682 fields
  --Parsing of new 1xx with [proposed update]
Version 1.08: Updated Sept. 4, 2006
  -Reports filename of files containing AC headings (new or changed) 
in AC headings section.


New Module in process:

MARC::Lint::Lint_Authority.pm

  -Initial version, Feb. 21, 2007.

##################

Please let me know of any problems or suggestions for improvement for 
any of the above.

Thank you,

Bryan Baldus
[email protected]
[email protected]
http://home.inwave.com/eija
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.