(Resending--with apologies for duplication or bouncing)
I have posted updates to several of my MARC-related modules and
scripts. Changes to each of the main files are listed below.
The files have been posted to my home page
(http://home.inwave.com/eija). Errorchecks (MARC::Errorchecks) is
also available on CPAN. CodeData (MARC::Lint::CodeData) is included
as part of Errorchecks, as well as part of MARC::Lint (in SourceForge
CVS).
MARC::File::MARCMaker is a very preliminary version. I welcome any
assistance in improving it. I haven't had time yet to develop working
tests or test files, though I do have those used for MARC.pm.
The LCSH changes parser script will eventually be used with a new
module I'm working on, tentatively named MARC::Global_Replace. The
module is intended to automatically update headings from their old
form to the newest form. Currently it is almost capable of
identifying subfield 'a' 6xx headings that have an old heading in the
LCSH weekly lists.
Module updates:
Lintadditions.pm:
Version 1.09: Updated Mar. 31-Apr., 2005. Released July 16, 2005.
-check_260() updated to report error if subfield 'a' and 'b' are not present.
-More '==' etc. changed to 'eq' etc. for indicators.
-check_082() updated to set $dewey to empty string if no 082$a is
present before checking for 3 digits.
Errorchecks.pm:
Version 1.08: Updated Feb. 15-July 11, 2005. Released July 16, 2005.
-Added 008errorchecks.t (and 008errorchecks.t.txt) tests for 008 validation
-Added check of current year, month, day vs. 008 creation date,
reporting error if creation date appears to be later than local time.
Assumes 008 dates of 00mmdd to 70mmdd represent post-2000 dates.
--This is a change from previous range, which gave dates as 00-06 as
200x, 80-99 as 19xx, and 07-79 as invalid.
-Added _get_current_date() internal sub to assist with check of
creation date vs. current date.
-findemptysubfields($record) also reports error if period(s) and/or
space(s) are the only data in a subfield.
-Revised wording of error messages for validate008($field008,
$mattype, $biblvl)
-Revised parse008date($field008string) error message wording and bug fix.
-Bug fix in video007vs300vs538($record) for gathering multiple 538 fields.
-added check in check_5xxendingpunctuation($record) for
space-semicolon-space-period at the end of 5xx fields.
-added field count check for more than 50 fields to check_fieldlength($record)
-added 'webliography' as acceptable 'bibliographical references'
term in check_bk008_vs_bibrefandindex($record), even though it is
discouraged. Consider adding an error message indicating that the
term should be 'bibliographical references'?
-Code indenting changed from tabs to 4 spaces per tab.
-Misc. bug fixes including changing '==' to 'eq' for tag numbers,
bytes in 008, and indicators.
MARC::Lint::CodeData:
Version 1.02: Updated June 21-July 12, 2005. Released (to CPAN) with
new version of MARC::Errorchecks.
-Added GAC and Country code changes for Australia (July 12, 2005 update)
-Added 6xx subfield 2 source code data for June 17, 2005 update.
-Updated valid Language codes to June 2, 2005 changes.
Module in process:
MARC::File::MARCMaker.pm: (zipped and uncompressed as /marc-marcmaker/)
Version 0.02: Updated July 12-13, 2005. Released July 16, 2005.
-Preliminary version of encode() for fields and records
-Appears to work when no special chars are present (including dollar signs).
-See TODO.txt and readme0.02.txt for list of items still needing to
be done and other notes.
-Note: This is a pre-alpha release, and little testing has been done
on the results of decode() or encode().
Added and changed scripts:
Updated LCSH Changes Parser script, LCSHchangesparserpl103.txt:
-Now creates files with tab-separated lines: old_tag \t old_hdg \t
new_tag \t new_hdg.
-Better parsing of weekly files.
#############
I welcome any comments and suggestions.
Thank you,
Bryan Baldus
[EMAIL PROTECTED]
[EMAIL PROTECTED]
http://home.inwave.com/eija