diff -Nru libmarc-lint-perl-1.43/bin/marclint libmarc-lint-perl-1.44/bin/marclint --- libmarc-lint-perl-1.43/bin/marclint 2007-10-03 20:44:35.000000000 +0100 +++ libmarc-lint-perl-1.44/bin/marclint 2005-09-18 13:44:00.000000000 +0100 @@ -1,118 +1,236 @@ #!/usr/bin/perl -w + + =head1 NAME + + marclint - MARC record linting utility + + =head1 SYNOPSIS + + B [options] file(s) + + =over 4 + + =item options + + =over 4 + + =item --help + + Print a summary of commands + + =item --[no]stats + + Print a statistical summary by file at the end. (Default: on) + + =back + + =back + + =cut + + use strict; + use integer; + + use MARC::File::USMARC; + use MARC::Lint; + use Getopt::Long; + + use constant USAGE => <<"END"; + Usage: marclint [options] file(s) + options + --help + Print a summary of commands + --version + Print version + --[no]quiet + Suppress status messages + --[no]stats + Print a statistical summary by file at the end + END + + my $stats = 1; + my $help = 0; + my $quiet = 0; + + my $rc = GetOptions( + "stats!" => \$stats, + "quiet!" => \$quiet, + "help" => \$help, + "version" => sub { print "$0, using MARC::Record v$MARC::Record::VERSION\n"; exit 1; }, + ); + + my @files = @ARGV; + + die USAGE if $help or (not $rc) or (@files == 0); + + my $linter = new MARC::Lint; + my %counts; + my %errors; + + for my $filename ( @files ) { + $counts{$filename} = 0; + $errors{$filename} = 0; + + my $file = MARC::File::USMARC->in( $filename ) or die $MARC::File::ERROR; + warn "$filename\n" unless $quiet; + + while ( my $marc = $file->next() ) { + if ( not $marc ) { + warn $MARC::Record::ERROR; + ++$errors{$filename}; + } else { + ++$counts{$filename}; + } + + #store warnings in @warningstoreturn + my @warningstoreturn = (); + + #retrieve any decoding errors + #get any warnings from decoding the raw MARC + push @warningstoreturn, $marc->warnings(); + + $linter->check_record( $marc ); + + #add any warnings from MARC::Lint + push @warningstoreturn, $linter->warnings; + + if ( @warningstoreturn ) { + print join( "\n", + $marc->title, + @warningstoreturn, + "", + "", + ); + ++$errors{$filename}; + } + } # while + $file->close(); + } # for + + if ( $stats ) { + print "\n\n"; + print " Recs Errs Filename\n"; + print "----- ----- --------\n"; + for my $key ( sort keys %counts ) { + printf( "%5d %5d %s\n", $counts{$key}, $errors{$key}, $key ); + } # for + } # if stats + + diff -Nru /tmp/kNt17nZVRm/libmarc-lint-perl-1.43/Changes /tmp/3pAetPo1EE/libmarc-lint-perl-1.44/Changes --- libmarc-lint-perl-1.43/Changes 2007-10-03 20:44:34.000000000 +0100 +++ libmarc-lint-perl-1.44/Changes 2009-08-29 15:13:52.000000000 +0100 @@ -1,3 +1,15 @@ +1.44 Sat August 29, 2009 + + - Updated TODO section with item about verfication of 008 presence and length. + + [THINGS THAT MAY BREAK YOUR CODE] + + - Updated _check_article with the exceptions: 'A to ', 'A isn\'t ' + - Updated Lint::DATA section with Update No. 8 (Oct. 2007) + - Updated Lint::DATA section with Update No. 9 (Oct. 2008) + + - Updated MARC::Lint::CodeData with most recent version. + 1.43 Wed October 3 19:36:00 CDT 2007 [THINGS THAT MAY BREAK YOUR CODE] diff -Nru /tmp/kNt17nZVRm/libmarc-lint-perl-1.43/debian/changelog /tmp/3pAetPo1EE/libmarc-lint-perl-1.44/debian/changelog --- libmarc-lint-perl-1.43/debian/changelog 2009-11-05 12:24:26.000000000 +0000 +++ libmarc-lint-perl-1.44/debian/changelog 2009-11-05 12:24:26.000000000 +0000 @@ -1,3 +1,32 @@ +libmarc-lint-perl (1.44-1) unstable; urgency=low + + [ Jonathan Yu ] + * New upstream release (IMPORTANT FIXES) + + _check_article now has exceptions: 'A to ', 'A isn\'t ' + + Updated Lint::DATA section with Oct 2007 & 2008 updates + + Update MARC::Lint::CodeData with most recent version + * Standards-Version 3.8.3 (drop perl version dependency) + * Use short debhelper rules format + * Updated gregoa's email address + * Drop version dependency on libbusiness-isbn-perl (>= 2.03), + since version 2.03.01 is in stable + * Added myself to Uploaders and Copyright + * Updated to machine-readable copyright format + * Refreshed dam's patch for whatis, added headers per DEP3 + * Compacted control description + + [ gregor herrmann ] + * debian/watch: use dist-based URL. + * Add debian/README.source to document quilt usage, as required by + Debian Policy since 3.8.0. + * debian/control: Changed: Switched Vcs-Browser field to ViewSVN + (source stanza). + + [ Nathan Handler ] + * debian/watch: Update to ignore development releases. + + -- Jonathan Yu Sat, 29 Aug 2009 19:04:20 -0400 + libmarc-lint-perl (1.43-1) unstable; urgency=low [ gregor herrmann ] diff -Nru /tmp/kNt17nZVRm/libmarc-lint-perl-1.43/debian/compat /tmp/3pAetPo1EE/libmarc-lint-perl-1.44/debian/compat --- libmarc-lint-perl-1.43/debian/compat 2009-11-05 12:24:26.000000000 +0000 +++ libmarc-lint-perl-1.44/debian/compat 2009-11-05 12:24:26.000000000 +0000 @@ -1 +1 @@ -5 +7 diff -Nru /tmp/kNt17nZVRm/libmarc-lint-perl-1.43/debian/control /tmp/3pAetPo1EE/libmarc-lint-perl-1.44/debian/control --- libmarc-lint-perl-1.43/debian/control 2009-11-05 12:24:26.000000000 +0000 +++ libmarc-lint-perl-1.44/debian/control 2009-11-05 12:24:26.000000000 +0000 @@ -1,27 +1,26 @@ Source: libmarc-lint-perl Section: perl Priority: optional -Build-Depends: debhelper (>= 5.0.0), quilt -Build-Depends-Indep: perl (>= 5.8.8-7), libbusiness-isbn-perl (>= 2.03), libmarc-record-perl +Build-Depends: debhelper (>= 7.0.8), quilt (>= 0.46-7) +Build-Depends-Indep: perl, libbusiness-isbn-perl, libmarc-record-perl Maintainer: Debian Perl Group Uploaders: Vincent Danjean , - gregor herrmann , + gregor herrmann , Jonathan Yu , Damyan Ivanov -Standards-Version: 3.7.2 +Standards-Version: 3.8.3 Vcs-Svn: svn://svn.debian.org/pkg-perl/trunk/libmarc-lint-perl/ -Vcs-Browser: http://svn.debian.org/wsvn/pkg-perl/trunk/libmarc-lint-perl/ +Vcs-Browser: http://svn.debian.org/viewsvn/pkg-perl/trunk/libmarc-lint-perl/ Homepage: http://search.cpan.org/dist/MARC-Lint/ Package: libmarc-lint-perl Architecture: all -Depends: ${perl:Depends}, ${misc:Depends}, libmarc-record-perl, libbusiness-isbn-perl (>= 2.03) +Depends: ${perl:Depends}, ${misc:Depends}, libmarc-record-perl, + libbusiness-isbn-perl Description: Perl extension for checking validity of MARC records - Module for checking validity of MARC records. 99% of the users will want to do - something like is shown in the synopsis. The other intrepid 1% will overload - the MARC::Lint module's methods and provide their own special field-level - checking. - . - What this means is that if you have certain requirements, such as making sure - that all 952 tags have a certain call number in them, you can write a function - that checks for that, and still get all the benefits of the MARC::Lint - framework. + MARC::Lint is a Perl module for checking the validity of MARC records. Most + of the users will want to do something like is shown in the synopsis. Other + users may choose instead to overload MARC::Lint's methods and provide their + own special field-level checking. If you have certain requirements, such as + making sure that all 952 tags have a certain call number in them, you can + write a function that checks for that, and still get all the benefits of the + MARC::Lint framework. diff -Nru /tmp/kNt17nZVRm/libmarc-lint-perl-1.43/debian/copyright /tmp/3pAetPo1EE/libmarc-lint-perl-1.44/debian/copyright --- libmarc-lint-perl-1.43/debian/copyright 2009-11-05 12:24:26.000000000 +0000 +++ libmarc-lint-perl-1.44/debian/copyright 2009-11-05 12:24:26.000000000 +0000 @@ -1,24 +1,34 @@ -This is the debian package for the MARC-Lint module. -It was created by Vincent Danjean using dh-make-perl. - -It was downloaded from the Comprehensive Perl Archive Network (CPAN): -http://search.cpan.org/dist/MARC-Lint/ - -The upstream author is Bryan Baldus - -Copyright (c) 2001-2007 Baldus, Lester, Summers - -License: - - MARC::Lint is dual licensed under the same terms as Perl itself. - - This means at your choice, either the Perl Artistic License, or - the GNU GPL version 1 or higher. - - On a Debian system a copy of the Perl Artistic license can be found in - the file '/usr/share/common-licenses/Artistic' and a copy of the GPL - version 2 can be found in the file '/usr/share/common-licenses/GPL'. - -The Debian packaging is (C) 2007, Vincent Danjean and -is licensed under the same licenses as the software itself (see above). +Format-Specification: + http://wiki.debian.org/Proposals/CopyrightFormat?action=recall&rev=196 +Upstream-Maintainer: Bryan Baldus +Upstream-Source: http://search.cpan.org/dist/MARC-Lint/ +Upstream-Name: MARC-Lint + +Files: * +Copyright: 2001-2007, Bryan Baldus + 2001-2007, Ed Summers + 2001-2007, Lester +License-Alias: Perl +License: Artistic | GPL-1+ + +Files: debian/* +Copyright: 2009, Jonathan Yu + 2007, Damyan Ivanov + 2007, gregor herrmann + 2007, Vincent Danjean +License: Artistic | GPL-1+ + +License: Artistic + This program is free software; you can redistribute it and/or modify + it under the terms of the Artistic License, which comes with Perl. + On Debian GNU/Linux systems, the complete text of the Artistic License + can be found in `/usr/share/common-licenses/Artistic' + +License: GPL-1+ + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 1, or (at your option) + any later version. + On Debian GNU/Linux systems, the complete text of the GNU General + Public License can be found in `/usr/share/common-licenses/GPL' diff -Nru /tmp/kNt17nZVRm/libmarc-lint-perl-1.43/debian/patches/01_fix-man-name.patch /tmp/3pAetPo1EE/libmarc-lint-perl-1.44/debian/patches/01_fix-man-name.patch --- libmarc-lint-perl-1.43/debian/patches/01_fix-man-name.patch 2009-11-05 12:24:26.000000000 +0000 +++ libmarc-lint-perl-1.44/debian/patches/01_fix-man-name.patch 2009-11-05 12:24:26.000000000 +0000 @@ -1,24 +1,32 @@ -Index: libmarc-lint-perl/lib/MARC/Lint/CodeData.pm -=================================================================== ---- libmarc-lint-perl.orig/lib/MARC/Lint/CodeData.pm 2007-10-12 07:38:24.000000000 +0300 -+++ libmarc-lint-perl/lib/MARC/Lint/CodeData.pm 2007-10-12 07:42:28.000000000 +0300 -@@ -12,9 +12,11 @@ +Description: fix whatis entry +Origin: vendor +Forwarded: no +Author: Damyan Ivanov +Reviewed-by: Jonathan Yu +--- a/lib/MARC/Lint/CodeData.pm ++++ b/lib/MARC/Lint/CodeData.pm +@@ -26,7 +26,7 @@ + - @EXPORT_OK = qw(%GeogAreaCodes %ObsoleteGeogAreaCodes %LanguageCodes %ObsoleteLanguageCodes %CountryCodes %ObsoleteCountryCodes %Sources600_651 %ObsoleteSources600_651 %Sources655 %ObsoleteSources655); -=head1 NAME and DESCRIPTION +=head1 NAME --MARC::Lint::CodeData -- Contains codes from the MARC code lists for Geographic Areas, Languages, and Countries. -+MARC::Lint::CodeData -- codes from the MARC code lists for Geographic Areas, Languages, and Countries. -+ -+=head1 DESCRIPTION + +@@ -34,6 +34,9 @@ + + + ++=head1 DESCRIPTION ++ ++ Code data is used for validating fields 008, 040, 041, and 043. -@@ -229,4 +231,4 @@ - =cut +@@ -554,4 +557,4 @@ + + -__END__ \ No newline at end of file diff -Nru /tmp/kNt17nZVRm/libmarc-lint-perl-1.43/debian/README.source /tmp/3pAetPo1EE/libmarc-lint-perl-1.44/debian/README.source --- libmarc-lint-perl-1.43/debian/README.source 1970-01-01 01:00:00.000000000 +0100 +++ libmarc-lint-perl-1.44/debian/README.source 2009-11-05 12:24:26.000000000 +0000 @@ -0,0 +1,5 @@ +This package uses quilt to manage all modifications to the upstream +source. Changes are stored in the source package as diffs in +debian/patches and applied during the build. + +See /usr/share/doc/quilt/README.source for a detailed explanation. diff -Nru /tmp/kNt17nZVRm/libmarc-lint-perl-1.43/debian/rules /tmp/3pAetPo1EE/libmarc-lint-perl-1.44/debian/rules --- libmarc-lint-perl-1.43/debian/rules 2009-11-05 12:24:26.000000000 +0000 +++ libmarc-lint-perl-1.44/debian/rules 2009-11-05 12:24:26.000000000 +0000 @@ -1,83 +1,4 @@ #!/usr/bin/make -f -# This debian/rules file is provided as a template for normal perl -# packages. It was created by Marc Brockschmidt for -# the Debian Perl Group (http://pkg-perl.alioth.debian.org/) but may -# be used freely wherever it is useful. -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -# If set to a true value then MakeMaker's prompt function will -# always return the default without waiting for user input. -export PERL_MM_USE_DEFAULT=1 - -PACKAGE=$(shell dh_listpackages) - -ifndef PERL -PERL = /usr/bin/perl -endif - -TMP =$(CURDIR)/debian/$(PACKAGE) - -include /usr/share/quilt/quilt.make - -build: patch build-stamp -build-stamp: - dh_testdir - - # As this is a architecture independent package, we are not - # supposed to install stuff to /usr/lib. MakeMaker creates - # the dirs, we prevent this by setting the INSTALLVENDORARCH - # and VENDORARCHEXP environment variables. - - # Add commands to compile the package here - $(PERL) Makefile.PL INSTALLDIRS=vendor \ - INSTALLVENDORARCH=/usr/share/perl5/ \ - VENDORARCHEXP=/usr/share/perl5/ - $(MAKE) - $(MAKE) test - - touch $@ - -clean: unpatch - dh_testdir - dh_testroot - - dh_clean build-stamp install-stamp - - # Add commands to clean up after the build process here - [ ! -f Makefile ] || $(MAKE) realclean - -install: build install-stamp -install-stamp: - dh_testdir - dh_testroot - dh_clean -k - - # Add commands to install the package into debian/$PACKAGE_NAME here - $(MAKE) install DESTDIR=$(TMP) PREFIX=/usr - - touch $@ - -binary-arch: -# We have nothing to do here for an architecture-independent package - -binary-indep: build install - dh_testdir - dh_testroot - #dh_installexamples - dh_installdocs - dh_installchangelogs Changes - dh_perl - dh_compress - dh_fixperms - dh_installdeb - dh_gencontrol - dh_md5sums - dh_builddeb - -source diff: - @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary +%: + dh --with quilt $@ diff -Nru /tmp/kNt17nZVRm/libmarc-lint-perl-1.43/debian/watch /tmp/3pAetPo1EE/libmarc-lint-perl-1.44/debian/watch --- libmarc-lint-perl-1.43/debian/watch 2009-11-05 12:24:26.000000000 +0000 +++ libmarc-lint-perl-1.44/debian/watch 2009-11-05 12:24:26.000000000 +0000 @@ -1,2 +1,2 @@ version=3 -http://www.cpan.org/modules/by-module/MARC/MARC-Lint-(.*)\.tar\.gz +http://search.cpan.org/dist/MARC-Lint/ .*/MARC-Lint-v?(\d[\d.]+)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip) diff -Nru /tmp/kNt17nZVRm/libmarc-lint-perl-1.43/etc/ecbdlist.html /tmp/3pAetPo1EE/libmarc-lint-perl-1.44/etc/ecbdlist.html --- libmarc-lint-perl-1.43/etc/ecbdlist.html 2007-10-03 20:44:53.000000000 +0100 +++ libmarc-lint-perl-1.44/etc/ecbdlist.html 2009-07-06 09:13:34.000000000 +0100 @@ -1,38 +1,58 @@ - + -MARC 21 Format for Bibliographic Data: Field List - - - - +MARC 21 Format for Bibliographic Data: Table of Contents +(Network Development and MARC Standards Office, Library of +Congress) + + + + + + - -

MARC 21 FORMAT FOR BIBLIOGRAPHIC DATA: FIELD LIST

-

1999 English Edition
- Update No. 1 (October 2000)
- Update No. 2 (October 2001)
- Update No. 3 (October 2002)
- Update No. 4 (October 2003)
- Update No. 5 (October 2004)
- Update No. 6 (October 2005) -

-

Network Development and MARC Standards - Office

-

This document lists all valid and obsolete data elements that may appear in - MARC 21 bibliographic records. It is intended to meet the need for a simple - data element list to support MARC system development and online validation of - MARC data elements. This listing does not include any descriptions or examples - of MARC data elements. Descriptions and examples can be found in the MARC - 21 Concise Bibliographic Format.

+ + +
Library of +Congress >> MARC +>> Bibliographic Field List
+ +
+ + +

MARC 21 Format for Bibliographic Data
Field List

+ +
+ +
1999 Edition
+Update No. 1 (October 2001) through Update No. 9 (October 2008)
+
+ +

This document lists all valid and obsolete data elements that +may appear in MARC 21 bibliographic records. It is intended to +meet the need for a simple data element list to support MARC +system development and online validation of MARC data elements. +This listing does not include any descriptions or examples of +MARC data elements. Descriptions and examples can be found in the +MARC 21 Format for Bibliographic +Data.

+ +
+
 --Leader and Directory--
-
   LEADER
      Character Positions
      00-04 - Logical record length
@@ -95,32 +115,34 @@
          p - Partial ISBD (BK) [OBSOLETE]
          r - Provisional (VM MP MU) [OBSOLETE]
          u - Unknown
-     19 - Linked record requirement
-         # - Related record not required
-         r - Related record required
+     19 - Multipart resource record level
+         # - Not specified or not applicable
+         a - Set
+         b - Part with independent title
+         c - Part with dependent title 
      20-23 - Entry map
      20 - Length of the length-of-field portion
      21 - Length of the starting-character-position portion
      22 - Length of the implementation-defined portion
      23 - Undefined Entry map character position
-DIRECTORY
+
+   DIRECTORY
    Character Positions
       00-02 - Tag
       03-06 - Field length
       07-11 - Starting character position
 
---Control Fields (001-006)--
 
+--Control Fields (001-006)--
 001 - CONTROL NUMBER (NR)
 
 003 - CONTROL NUMBER IDENTIFIER (NR)
 
 005 - DATE AND TIME OF LATEST TRANSACTION (NR)
 
-006 - FIXED-LENGTH DATA ELEMENTS--ADDITIONAL MATERIAL CHARACTERISTICS
-        --GENERAL INFORMATION (R)
- 006--BOOKS
-  Character Positions
+006 - FIXED-LENGTH DATA ELEMENTS--ADDITIONAL MATERIAL CHARACTERISTICS--GENERAL INFORMATION (R)
+  006--BOOKS
+    Character Positions
      00 - Form of material
         a - Language material
         t - Manuscript language material
@@ -135,8 +157,8 @@
      15 - Undefined
      16 - Literary form
      17 - Biography
- 006--COMPUTER FILES/ELECTRONIC RESOURCES
-  Character Positions
+  006--COMPUTER FILES/ELECTRONIC RESOURCES
+    Character Positions
      00 - Form of material
         m - Computer file/Electronic resource
      01-04 - Undefined
@@ -146,8 +168,8 @@
      10 - Undefined
      11 - Government publication
      12-17 - Undefined
- 006--MAPS
-  Character Positions
+  006--MAPS
+    Character Positions
      00 - Form of material
         e - Cartographic material
         f - Manuscript cartographic material
@@ -164,15 +186,15 @@
      14 - Index
      15 - Undefined
      16-17 - Special format characteristics
- 006--MIXED MATERIALS
-  Character Positions
+  006--MIXED MATERIALS
+    Character Positions
      00 - Form of material
         p - Mixed material
      01-05 - Undefined
      06 - Form of item
      07-17 - Undefined
- 006--MUSIC
-  Character Positions
+  006--MUSIC
+    Character Positions
      00 - Form of material
         c - Notated music
         d - Manuscript notated music
@@ -188,8 +210,8 @@
      15 - Undefined
      16 - Transposition and arrangement
      17 - Undefined
- 006--CONTINUING RESOURCES
-  Character Positions
+  006--CONTINUING RESOURCES
+    Character Positions
      00 - Form of material
         s - Serial/Integrating resource
      01 - Frequency
@@ -205,8 +227,8 @@
      13-15 - Undefined
      16 - Original alphabet or script of title
      17 - Entry convention
- 006--VISUAL MATERIALS
-  Character Positions
+  006--VISUAL MATERIALS
+    Character Positions
      00 - Form of material
         g - Projected medium
         k - Two-dimensional nonprojectable graphic
@@ -223,11 +245,11 @@
      13-15 - Undefined
      16 - Type of visual material
      17 - Technique
+	 
 --Control Field 007--
-  007 - PHYSICAL DESCRIPTION FIXED FIELD
-        --GENERAL INFORMATION (R)
+007 - PHYSICAL DESCRIPTION FIXED FIELD--GENERAL INFORMATION (R)
   007--MAP
-   Character Positions
+    Character Positions
       00 - Category of material
          a - Map
       01 - Specific material designation
@@ -285,8 +307,8 @@
          m - Mixed polarity
          n - Not applicable
          | - No attempt to code
-  007--ELECTRONIC RESOURCE
-   Character Positions
+   007--ELECTRONIC RESOURCE
+     Character Positions
       00 - Category of material
          c - Computer file
       01 - Specific material designation
@@ -370,8 +392,8 @@
          r - Replacement
          u - Unknown
          | - No attempt to code
-  007--GLOBE
-   Character Positions
+   007--GLOBE
+     Character Positions
       00 - Category of material
          d - Globe
       01 - Specific material designation
@@ -405,8 +427,8 @@
          u - Unknown
          z - Other
          | - No attempt to code
-  007--TACTILE MATERIAL
-   Character Positions
+   007--TACTILE MATERIAL
+     Character Positions
       00 - Category of material
          f - Tactile material
       01 - Specific material designation
@@ -463,8 +485,8 @@
          u - Unknown
          z - Other
          | - No attempt to code
-  007--PROJECTED GRAPHIC
-   Character Positions
+   007--PROJECTED GRAPHIC
+     Character Positions
       00 - Category of material
          g - Projected graphic
       01 - Specific material designation
@@ -549,8 +571,8 @@
          u - Unknown
          z - Other
          | - No attempt to code
-  007--MICROFORM
-   Character Positions
+   007--MICROFORM
+     Character Positions
       00 - Category of material
          h - Microform
       01 - Specific material designation
@@ -630,8 +652,8 @@
          u - Unknown
          z - Other
          | - No attempt to code
-  007--NONPROJECTED GRAPHIC
-   Character Positions
+   007--NONPROJECTED GRAPHIC
+     Character Positions
       00 - Category of material
          k - Nonprojected graphic
       01 - Specific material designation
@@ -698,8 +720,8 @@
          u - Unknown
          z - Other
          | - No attempt to code
-  007--MOTION PICTURE
-   Character Positions
+   007--MOTION PICTURE
+     Character Positions
       00 - Category of material
          m - Motion picture
       01 - Specific material designation
@@ -861,22 +883,22 @@
          u - Unknown
          | - No attempt to code
       17-22 - Film inspection date
-  007--KIT
-   Character Positions
+   007--KIT
+     Character Positions
       00 - Category of material
          o - Kit
       01 - Specific material designation
          u - Unspecified
          | - No attempt to code
-  007--NOTATED MUSIC
-   Character Positions
+   007--NOTATED MUSIC
+     Character Positions
       00 - Category of material
          q - Notated music
       01 - Specific material designation
          u - Unspecified
          | - No attempt to code
-  007--REMOTE-SENSING IMAGE
-   Character Positions
+   007--REMOTE-SENSING IMAGE
+     Character Positions
       00 - Category of material
          r - Remote-sensing image
       01 - Specific material designation
@@ -984,8 +1006,8 @@
          uu - Unknown
          zz - Other
          || - No attempt to code
-  007--SOUND RECORDING
-   Character Positions
+   007--SOUND RECORDING
+     Character Positions
       00 - Category of material
          s - Sound recording
       01 - Specific material designation
@@ -1124,8 +1146,8 @@
          u - Unknown
          z - Other
          | - No attempt to code
-  007--TEXT
-   Character Positions
+   007--TEXT
+     Character Positions
       00 - Category of material
          t - Text
       01 - Specific material designation
@@ -1136,8 +1158,8 @@
          u - Unspecified
          z - Other
          | - No attempt to code
-  007--VIDEORECORDING
-   Character Positions
+   007--VIDEORECORDING
+     Character Positions
       00 - Category of material
          v - Videorecording
       01 - Specific material designation
@@ -1174,6 +1196,7 @@
          o - D-2 (3/4 in., videocassette)
          p - 8 mm.
          q - Hi-8 mm.
+         s - Blu-ray disc
          u - Unknown
          v - DVD
          z - Other
@@ -1217,8 +1240,8 @@
          u - Unknown
          z - Other
          | - No attempt to code
-  007--UNSPECIFIED
-   Character Positions
+   007--UNSPECIFIED
+     Character Positions
       00 - Category of material
          z - Unspecified
       01 - Specific material designation
@@ -1228,9 +1251,9 @@
          | - No attempt to code
 
 --Control Field 008--
-  008 - FIXED-LENGTH DATA ELEMENTS--GENERAL INFORMATION (NR)
+008 - FIXED-LENGTH DATA ELEMENTS--GENERAL INFORMATION (NR)
   008--ALL MATERIALS
-   Character Positions
+    Character Positions
       00-05 - Date entered on file
       06 - Type of date/Publication status
          b - No dates given; B.C. date involved
@@ -1279,8 +1302,8 @@
          n - Report to [OBSOLETE]
          u - Unknown
          | - No attempt to code
-  008--BOOKS
-   Character Positions
+   008--BOOKS
+     Character Positions
       18-21 - Illustrations
          # - No illustrations
          a - Illustrations
@@ -1349,8 +1372,12 @@
          u - Standards/specifications
          v - Legal cases and case notes
          w - Law reports and digests
-         y - Yearbooks [OBSOLETE]
+         x - Technical reports [OBSOLETE]
+         y - Yearbooks
          z - Treaties
+         2 - Offprints
+         5 - Calendars
+         6 - Comics/graphic novels
          | - No attempt to code
       28 - Government publication
          # - Not a government publication
@@ -1386,7 +1413,7 @@
       33 - Literary form
          0 - Not fiction (not further specified)
          1 - Fiction (not further specified)
-         c - Comic strips
+         c - Comic strips [OBSOLETE]
          d - Dramas
          e - Essays
          f - Novels
@@ -1406,7 +1433,7 @@
          d - Contains biographical information
          | - No attempt to code
   008--COMPUTER FILES
-   Character Positions
+    Character Positions
       18-21 - Undefined
       18 - Frequency [OBSOLETE]
          # - No determinable frequency
@@ -1480,7 +1507,7 @@
          | - No attempt to code
       29-34 - Undefined
   008--MAPS
-   Character Positions
+    Character Positions
       18-21 - Relief
          # - No relief shown
          a - Contours
@@ -1619,7 +1646,7 @@
          z - Other
          | - No attempt to code
   008--MUSIC
-   Character Positions
+    Character Positions
       18-19 - Form of composition
          an - Anthems
          bd - Ballads
@@ -1733,7 +1760,7 @@
          c - Microopaque
          d - Large print
          f - Braille
-         g - Punched paper tape [	]
+         g - Punched paper tape [   ]
          h - Magnetic tape [OBSOLETE]
          i - Multimedia [OBSOLETE]
          r - Regular print reproduction
@@ -1797,7 +1824,7 @@
          | - No attempt to code 
       34 - Undefined
   008--CONTINUING RESOURCES
-   Character Positions
+    Character Positions
       18 - Frequency
          # - No determinable frequency
          a - Annual
@@ -1903,8 +1930,10 @@
          u - Standards/specifications
          v - Legal cases and case notes
          w - Law reports and digests
-         y - Yearbooks [OBSOLETE]
+         y - Yearbooks
          z - Treaties
+         5 - Calendars
+         6 - Comics/graphic novels
          | - No attempt to code
       25-27 - Nature of contents
          # - No specified nature of contents
@@ -1931,8 +1960,10 @@
          u - Standards/specifications
          v - Legal cases and case notes
          w - Law reports and digests
-         y - Yearbooks [OBSOLETE]
+         y - Yearbooks
          z - Treaties
+         5 - Calendars
+         6 - Comics/graphic novels
          | - No attempt to code
       28 - Government publication
          # - Not a government publication
@@ -2011,7 +2042,7 @@
          2 - Integrated entry
          | - No attempt to code
   008--VISUAL MATERIALS
-   Character Positions
+    Character Positions
       18-20 - Running time for motion pictures and videorecordings
          000 - Running time exceeds three characters
          001-999 - Running time
@@ -2111,7 +2142,7 @@
          z - Other technique
          | - No attempt to code
   008--MIXED MATERIALS
-   Character Positions
+    Character Positions
       18-22 - Undefined
       23 - Form of item
          # - None of the following
@@ -2156,8 +2187,9 @@
          d - Control by folder
          e - Control by item
          u - Unknown
+
   009 - PHYSICAL DESCRIPTION FIXED-FIELD FOR ARCHIVAL COLLECTION (VM) - [OBSOLETE]
-   Character Positions
+    Character Positions
       00 - Genealogical stage
       01 - Technical stage
       02 - Color stage
@@ -2170,8 +2202,10 @@
       09 - Film deterioration
       10 - Completeness
       11-14 - Film inspection date
+
+
 --Number and Code Fields (01X-04X)--
-  010 - LIBRARY OF CONGRESS CONTROL NUMBER (NR)
+010 - LIBRARY OF CONGRESS CONTROL NUMBER (NR)
    Indicators
       First - Undefined
          # - Undefined
@@ -2182,7 +2216,8 @@
       $b - NUCMC control number (R)
       $z - Canceled/invalid LC control number (R)
       $8 - Field link and sequence number (R)
-  011 - LINKING LIBRARY OF CONGRESS CONTROL NUMBER (NR) [OBSOLETE]
+
+011 - LINKING LIBRARY OF CONGRESS CONTROL NUMBER (NR) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -2190,7 +2225,8 @@
          # - Undefined
    Subfield Codes
       $a - LINKING LC control number (R)
-  013 - PATENT CONTROL INFORMATION (R)
+
+013 - PATENT CONTROL INFORMATION (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -2205,7 +2241,8 @@
       $f - Party to document (R)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  015 - NATIONAL BIBLIOGRAPHY NUMBER (R)
+
+015 - NATIONAL BIBLIOGRAPHY NUMBER (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -2213,10 +2250,12 @@
          # - Undefined
    Subfield Codes
       $a - National bibliography number (R)
+      $z - Canceled/Invalid national bibliography number (R)
       $2 - Source (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  016 - NATIONAL BIBLIOGRAPHIC AGENCY CONTROL NUMBER (R)
+      $8 - Field link and sequence number (R)
+
+016 - NATIONAL BIBLIOGRAPHIC AGENCY CONTROL NUMBER (R)
    Indicators
       First - National bibliographic agency
          # - Library and Archives Canada 
@@ -2227,8 +2266,9 @@
       $a - Record control number (NR)
       $z - Canceled or invalid record control number (R)
       $2 - Source (NR)
-      $8 - Field link and sequence number (R)   
-  017 - COPYRIGHT OR LEGAL DEPOSIT NUMBER (R)
+      $8 - Field link and sequence number (R)
+
+017 - COPYRIGHT OR LEGAL DEPOSIT NUMBER (R)
    Indicators
       First - Government jurisdiction (BK MP MU VM)[OBSOLETE]
          0 - United States [OBSOLETE]
@@ -2246,10 +2286,12 @@
       $b - Assigning agency (NR)
       $d - Date (NR)
       $i - Display text (NR)
+      $z - Canceled/invalid copyright or legal deposit number (R) 
       $2 - Source (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  018 - COPYRIGHT ARTICLE-FEE CODE (NR)
+      $8 - Field link and sequence number (R)
+
+018 - COPYRIGHT ARTICLE-FEE CODE (NR)
    Indicators
       First - Undefined
          # - Undefined
@@ -2258,8 +2300,9 @@
    Subfield Code
       $a - Copyright article-fee code (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R) 
-  020 - INTERNATIONAL STANDARD BOOK NUMBER (R)
+      $8 - Field link and sequence number (R)
+
+020 - INTERNATIONAL STANDARD BOOK NUMBER (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -2270,8 +2313,9 @@
       $c - Terms of availability (NR)
       $z - Canceled/invalid ISBN (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  022 - INTERNATIONAL STANDARD SERIAL NUMBER (R)
+      $8 - Field link and sequence number (R)
+
+022 - INTERNATIONAL STANDARD SERIAL NUMBER (R)
    Indicators
       First - Level of international interest
          # - No level specified
@@ -2281,12 +2325,15 @@
          # - Undefined
    Subfield Codes
       $a - International Standard Serial Number (NR)
+      $l - ISSN-L (NR)
+      $m - Canceled ISSN-L (R)
       $y - Incorrect ISSN (R)
       $z - Canceled ISSN (R)
       $2 - Source (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  024 - OTHER STANDARD IDENTIFIER (R)
+      $8 - Field link and sequence number (R)
+
+024 - OTHER STANDARD IDENTIFIER (R)
    Indicators
       First - Type of standard number or code
          0 - International Standard Recording Code (ISRC)
@@ -2307,8 +2354,9 @@
       $z - Canceled/invalid standard number or code (R)
       $2 - Source of number or code (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  025 - OVERSEAS ACQUISITION NUMBER (R)
+      $8 - Field link and sequence number (R)
+
+025 - OVERSEAS ACQUISITION NUMBER (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -2316,8 +2364,9 @@
          # - Undefined
    Subfield Code
       $a - Overseas acquisition number (R)
-      $8 - Field link and sequence number (R)   
-  026 - FINGERPRINT IDENTIFIER (R)
+      $8 - Field link and sequence number (R)
+
+026 - FINGERPRINT IDENTIFIER (R)
    Indicators
        First - Undefined
          # - Undefined
@@ -2333,7 +2382,8 @@
       $5 - Institution to which field applies (R) 
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  027 - STANDARD TECHNICAL REPORT NUMBER (R)
+
+027 - STANDARD TECHNICAL REPORT NUMBER (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -2343,8 +2393,9 @@
       $a - Standard technical report number (NR)
       $z - Canceled/invalid number (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  028 - PUBLISHER NUMBER (R)
+      $8 - Field link and sequence number (R)
+
+028 - PUBLISHER NUMBER (R)
    Indicators
       First - Type of publisher number
          0 - Issue number
@@ -2362,8 +2413,9 @@
       $a - Publisher number (NR)
       $b - Source (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R) 
-  030 - CODEN DESIGNATION (R) 
+      $8 - Field link and sequence number (R)
+
+030 - CODEN DESIGNATION (R) 
    Indicators
       First - Undefined
          # - Undefined
@@ -2373,8 +2425,9 @@
       $a - CODEN (NR)
       $z - Canceled/invalid CODEN (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  031 - MUSICAL INCIPITS INFORMATION (R) 
+      $8 - Field link and sequence number (R)
+
+031 - MUSICAL INCIPITS INFORMATION (R) 
    Indicators
       First - Undefined
          # - Undefined
@@ -2401,7 +2454,8 @@
       $2 - System code (NR)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  032 - POSTAL REGISTRATION NUMBER (R)
+
+032 - POSTAL REGISTRATION NUMBER (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -2411,8 +2465,9 @@
       $a - Postal registration number (NR)
       $b - Source (agency assigning number) (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R) 
-  033 - DATE/TIME AND PLACE OF AN EVENT (R)
+      $8 - Field link and sequence number (R)
+	  
+033 - DATE/TIME AND PLACE OF AN EVENT (R)
    Indicators
       First - Type of date in subfield $a
          # - No date information
@@ -2430,8 +2485,9 @@
       $c - Geographic classification subarea code (R)
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  034 - CODED CARTOGRAPHIC MATHEMATICAL DATA (R)
+      $8 - Field link and sequence number (R)
+
+034 - CODED CARTOGRAPHIC MATHEMATICAL DATA (R)
    Indicators
       First - Type of scale
          0 - Scale indeterminable/No scale recorded
@@ -2458,11 +2514,17 @@
       $m - Right ascension--eastern limit (NR)
       $n - Right ascension--western limit (NR)
       $p - Equinox (NR)
+      $r - Distance from earth  (NR)
       $s - G-ring latitude (R)
       $t - G-ring longitude (R)
+      $x - Beginning date (NR)
+      $y - Ending date (NR)
+      $z - Name of extraterrestrial body  (NR)
+      $2 - Source  (NR)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  035 - SYSTEM CONTROL NUMBER (R)
+
+035 - SYSTEM CONTROL NUMBER (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -2473,7 +2535,8 @@
       $z - Canceled/invalid control number (R)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  036 - ORIGINAL STUDY NUMBER FOR COMPUTER DATA FILES (NR)
+
+036 - ORIGINAL STUDY NUMBER FOR COMPUTER DATA FILES (NR)
    Indicators
       First - Undefined
          # - Undefined
@@ -2483,8 +2546,9 @@
       $a - Original study number (NR)
       $b - Source (agency assigning number) (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  037 - SOURCE OF ACQUISITION (R)
+      $8 - Field link and sequence number (R)
+
+037 - SOURCE OF ACQUISITION (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -2498,8 +2562,9 @@
       $g - Additional format characteristics (R)
       $n - Note (R)
       $6 - Linkage (NR)
-       $8 - Field link and sequence number (R) 
-  038 - RECORD CONTENT LICENSOR (NR)
+       $8 - Field link and sequence number (R)
+
+038 - RECORD CONTENT LICENSOR (NR)
    Indicators
       First - Undefined
          # - Undefined
@@ -2509,7 +2574,8 @@
       $a - Record content licensor (NR)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  040 - CATALOGING SOURCE (NR)
+
+040 - CATALOGING SOURCE (NR)
    Indicators
       First - Undefined
          # - Undefined
@@ -2523,9 +2589,11 @@
       $e - Description conventions (NR)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  041 - LANGUAGE CODE (R)
+
+041 - LANGUAGE CODE (R)
    Indicators
       First - Translation indication
+         # - No information provided
          0 - Item not a translation/does not include a translation
          1 - Item is or includes a translation
       Second - Source of code
@@ -2533,16 +2601,20 @@
          7 - Source specified in subfield $2 
    Subfield Codes
       $a - Language code of text/sound track or separate title (R)
-      $b - Language code for summary, abstract or subtitles (R)
+      $b - Language code of summary or abstract (R)
+      $c - Languages of separate titles (VM) [OBSOLETE]
+      $c - languages of available translation (SE) [OBSOLETE]
       $d - Language code of sung or spoken text (R)
       $e - Language code of librettos (R)
       $f - Language code of table of contents (R)
       $g - Language code of accompanying material other than librettos (R)
       $h - Language code of original and/or intermediate translations of text (R)
+      $j - Language code of subtitles or captions (R)
       $2 - Source of code (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  042 - AUTHENTICATION CODE (NR)
+      $8 - Field link and sequence number (R)
+
+042 - AUTHENTICATION CODE (NR)
    Indicators
       First - Undefined
          # - Undefined
@@ -2552,7 +2624,7 @@
       $a - Authentication code (R)
          dc - Dublin Core 
          dhca - Dance Heritage Coalition Access Project
-         gamma - Georgia Archives & Manuscripts Automated Access Project
+         gamma - Georgia Archives & Manuscripts Automated Access Project
          gils - Government Information Location Service
          isds/c - ISSN Canada
          lc - Library of Congress
@@ -2578,8 +2650,9 @@
          xisds/c - ISSN Canada does not consider item a serial
          xlc - LC does not consider item a serial
          xnlc - NLC does not consider item a serial
-         xnsdp - NSDP does not consider item a serial   
-  043 - GEOGRAPHIC AREA CODE (NR)
+         xnsdp - NSDP does not consider item a serial
+
+043 - GEOGRAPHIC AREA CODE (NR)
    Indicators
       First - Undefined
          # - Undefined
@@ -2592,7 +2665,8 @@
       $2 - Source of local code (R)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  044 - COUNTRY OF PUBLISHING/PRODUCING ENTITY CODE (NR)
+
+044 - COUNTRY OF PUBLISHING/PRODUCING ENTITY CODE (NR)
    Indicators
       First - Undefined
          # - Undefined
@@ -2605,7 +2679,8 @@
       $2 - Source of local subentity code (R)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  045 - TIME PERIOD OF CONTENT (NR)
+
+045 - TIME PERIOD OF CONTENT (NR)
    Indicators 
       First - Type of time period in subfield $b or $c
          # - Subfield $b or $c not present
@@ -2619,8 +2694,9 @@
       $b - Formatted 9999 B.C. through C.E. time period (R)
       $c - Formatted pre-9999 B.C. time period (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  046 - SPECIAL CODED DATES (R)
+      $8 - Field link and sequence number (R)
+
+046 - SPECIAL CODED DATES (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -2649,17 +2725,21 @@
       $n - End of date valid (NR)
       $2 - Source of date (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R) 
-  047 - FORM OF MUSICAL COMPOSITION CODE (NR)
+      $8 - Field link and sequence number (R)
+
+047 - FORM OF MUSICAL COMPOSITION CODE (R)
    Indicators
       First - Undefined
          # - Undefined
-      Second - Undefined
-         # - Undefined
+      Second - Source of code
+         # - MARC musical composition code
+         7 - Source specified in subfield $2
    Subfield Codes
       $a - Form of musical composition code (R)
+      $2 - Source of code (NR)
       $8 - Field link and sequence number (R)
-  048 - NUMBER OF MUSICAL INSTRUMENTS OR VOICES CODE (R)
+
+048 - NUMBER OF MUSICAL INSTRUMENTS OR VOICES CODE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -2772,8 +2852,9 @@
       zn - Unspecified instruments
       zu - Unknown
 
+
 --Classification and Call Number Fields (05X-08X)--
-  050 - LIBRARY OF CONGRESS CALL NUMBER (R)
+050 - LIBRARY OF CONGRESS CALL NUMBER (R)
    Indicators
       First - Existence in LC collection
          # - No information provided
@@ -2794,8 +2875,10 @@
       $d - Supplementary class number (MU) [OBSOLETE]
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R) 
-  051 - LIBRARY OF CONGRESS COPY, ISSUE, OFFPRINT STATEMENT (R)
+      $8 - Field link and sequence number (R)
+
+
+051 - LIBRARY OF CONGRESS COPY, ISSUE, OFFPRINT STATEMENT (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -2811,7 +2894,8 @@
       $b - Item number (NR)
       $c - Copy information (NR)
       $8 - Field link and sequence number (R)
-  052 - GEOGRAPHIC CLASSIFICATION (R)
+
+052 - GEOGRAPHIC CLASSIFICATION (R)
    Indicators
       First - Code source
          # - Library of Congress Classification
@@ -2827,8 +2911,9 @@
       $d - Populated place name (R)
       $2 - Code source (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  055 - CLASSIFICATION NUMBERS ASSIGNED IN CANADA (R)
+      $8 - Field link and sequence number (R)
+
+055 - CLASSIFICATION NUMBERS ASSIGNED IN CANADA (R)
    Indicators
       First - Existence in LAC collection
          # - Information not provided
@@ -2849,8 +2934,9 @@
       $a - Classification number (NR)
       $b - Item number (NR)
       $2 - Source of call/class number (NR)
-      $8 - Field link and sequence number (R)  
-  060 - NATIONAL LIBRARY OF MEDICINE CALL NUMBER (R)
+      $8 - Field link and sequence number (R)
+
+060 - NATIONAL LIBRARY OF MEDICINE CALL NUMBER (R)
    Indicators
       First - Existence in NLM collection
          # - No information provided
@@ -2869,7 +2955,8 @@
       $a - Classification number (R)
       $b - Item number (NR)
       $8 - Field link and sequence number (R)
-  061 - NATIONAL LIBRARY OF MEDICINE COPY STATEMENT (R)
+
+061 - NATIONAL LIBRARY OF MEDICINE COPY STATEMENT (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -2885,7 +2972,8 @@
       $b - Item number (NR)
       $c - Copy information (NR)
       $8 - Field link and sequence number (R)
-  066 - CHARACTER SETS PRESENT (NR)
+
+066 - CHARACTER SETS PRESENT (NR)
    Indicators
       First - Undefined
          # - Undefined
@@ -2895,7 +2983,8 @@
       $a - Primary G0 character set (NR)
       $b - Primary G1 character set (NR)
       $c - Alternate G0 or G1 character set (R)
-  070 - NATIONAL AGRICULTURAL LIBRARY CALL NUMBER (R)
+
+070 - NATIONAL AGRICULTURAL LIBRARY CALL NUMBER (R)
    Indicators
       First - Existence in NAL collection
          0 - Item is in NAL
@@ -2910,8 +2999,9 @@
    Subfield Codes
       $a - Classification number (R)
       $b - Item number (NR)
-      $8 - Field link and sequence number (R)  
-  071 - NATIONAL AGRICULTURAL LIBRARY COPY STATEMENT (R)
+      $8 - Field link and sequence number (R)
+
+071 - NATIONAL AGRICULTURAL LIBRARY COPY STATEMENT (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -2927,7 +3017,8 @@
       $b - Item number (NR)
       $c - Copy information (NR)
       $8 - Field link and sequence number (R)
-  072 - SUBJECT CATEGORY CODE (R)
+
+072 - SUBJECT CATEGORY CODE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -2940,7 +3031,8 @@
       $2 - Source (NR)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  074 - GPO ITEM NUMBER (R)
+
+074 - GPO ITEM NUMBER (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -2949,8 +3041,9 @@
    Subfield Codes
       $a - GPO item number (NR)
       $z - Canceled/invalid GPO item number (R)
-      $8 - Field link and sequence number (R)  
-  080 - UNIVERSAL DECIMAL CLASSIFICATION NUMBER (R)
+      $8 - Field link and sequence number (R)
+
+080 - UNIVERSAL DECIMAL CLASSIFICATION NUMBER (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -2962,8 +3055,9 @@
       $x - Common auxiliary subdivision (R)
       $2 - Edition identifier (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  082 - DEWEY DECIMAL CLASSIFICATION NUMBER (R)
+      $8 - Field link and sequence number (R)
+
+082 - DEWEY DECIMAL CLASSIFICATION NUMBER (R)
    Indicators
       First - Type of edition
          # - No edition information recorded (BK CF MU VM SE) [OBSOLETE]
@@ -2978,10 +3072,31 @@
       $a - Classification number (R)
       $b - Item number (NR)
       $b - DDC number--abridged NST version (SE) [OBSOLETE]
+      $m - Standard or optional designation (NR)
+      $q - Assigning agency (NR)
+      $2 - Edition number (NR)
+      $6 - Linkage (NR)
+      $8 - Field link and sequence number (R)
+
+083 - ADDITIONAL DEWEY DECIMAL CLASSIFICATION NUMBER
+   Indicators
+      First - Type of edition
+         0 - Full edition
+         1 - Abridged edition
+      Second - Undefined
+         # - Undefined
+   Subfield Codes
+      $a - Classification number (R)
+      $c - Classification number--Ending number of span (R)
+      $m - Standard or optional designation (NR)
+      $q - Assigning agency (NR)
+      $y - Table sequence number for internal subarrangement or add table (R)
+      $z - Table identification (R)
       $2 - Edition number (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  084 - OTHER CLASSIFICATION NUMBER (R)
+      $8 - Field link and sequence number (R)
+
+084 - OTHER CLASSIFICATION NUMBER (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -2992,8 +3107,31 @@
       $b - Item number (NR)
       $2 - Source of number (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  086 - GOVERNMENT DOCUMENT CLASSIFICATION NUMBER (R)
+      $8 - Field link and sequence number (R)
+	  
+085  SYNTHESIZED CLASSIFICATION NUMBER COMPONENTS (R)
+   Indicators
+      First - Undefined
+         # - Undefined
+      Second - Undefined
+         # - Undefined
+   Subfield Codes
+      $a - Number where instructions are found-single number or beginning number of span (R)
+      $b - Base number (R)
+      $c - Classification number-ending number of span (R)
+      $f - Facet designator (R)
+      $r - Root number (R)
+      $s - Digits added from classification number in schedule or external table (R)
+      $t - Digits added from internal subarrangement or add table (R)
+      $u - Number being analyzed (R)
+      $v - Number in internal subarrangement or add table where instructions are found (R)
+      $w - Table identification-Internal subarrangement or add table (R)
+      $y - Table sequence number for internal subarrangement or add table (R)
+      $z - Table identification (R)
+      $6 - Linkage (NR)
+      $8 - Field link and sequence number (R)
+
+086 - GOVERNMENT DOCUMENT CLASSIFICATION NUMBER (R)
    Indicators
       First - Number source
          # - Source specified in subfield $2
@@ -3008,8 +3146,9 @@
       $z - Canceled/invalid classification number (R)
       $2 - Number source (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R) 
-  088 - REPORT NUMBER (R)
+      $8 - Field link and sequence number (R)
+
+088 - REPORT NUMBER (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -3020,7 +3159,8 @@
       $z - Canceled/invalid report number (R)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  090 - LOCAL CALL NUMBER (BK AM CF MP MU VM SE) [OBSOLETE]
+
+090 - LOCAL CALL NUMBER (BK AM CF MP MU VM SE) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -3029,7 +3169,8 @@
    Subfield Codes
       $a - Local class number (NR)
       $b - Local Cutter number (NR)
-  090 - SHELF LOCATION (AM)[OBSOLETE]
+
+090 - SHELF LOCATION (AM)[OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -3037,7 +3178,8 @@
          # - Undefined
    Subfield Code
       $a - Shelf location (NR)
-  091 - MICROFILM SHELF LOCATION (AM) [OBSOLETE]
+
+091 - MICROFILM SHELF LOCATION (AM) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -3046,8 +3188,9 @@
    Subfield Code
       $a - Microfilm shelf location (NR)
 
+
 --Main Entry Fields (1XX)--
-  100 - MAIN ENTRY--PERSONAL NAME (NR)
+100 - MAIN ENTRY--PERSONAL NAME (NR)
    Indicators
       First - Type of personal name entry element
          0 - Forename
@@ -3073,10 +3216,12 @@
       $q - Fuller form of name (NR)
       $t - Title of a work (NR)
       $u - Affiliation (NR)
+      $0 - Authority record control number (R)
       $4 - Relator code (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  110 - MAIN ENTRY--CORPORATE NAME (NR)
+      $8 - Field link and sequence number (R)
+
+110 - MAIN ENTRY--CORPORATE NAME (NR)
    Indicators
       First - Type of corporate name entry element
          0 - Inverted name
@@ -3099,10 +3244,12 @@
       $p - Name of part/section of a work (R)
       $t - Title of a work (NR)
       $u - Affiliation (NR)
+      $0 - Authority record control number (R)
       $4 - Relator code (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  111 - MAIN ENTRY--MEETING NAME (NR)
+      $8 - Field link and sequence number (R)
+
+111 - MAIN ENTRY--MEETING NAME (NR)
    Indicators
       First - Type of meeting name entry element
          0 - Inverted name 
@@ -3110,7 +3257,6 @@
          2 - Name in direct order
       Second - Undefined
          # - Undefined
-
       Second - Main entry/subject relationship (BK MU SE) [OBSOLETE]
    Subfield Codes
       $a - Meeting name or jurisdiction name as entry element (NR)
@@ -3120,6 +3266,7 @@
       $e - Subordinate unit (R)
       $f - Date of a work (NR)
       $g - Miscellaneous information (NR)
+      $j - Relator term (R)
       $k - Form subheading (R)
       $l - Language of a work (NR)
       $n - Number of part/section/meeting (R)
@@ -3127,10 +3274,12 @@
       $q - Name of meeting following jurisdiction name entry element (NR)
       $t - Title of a work (NR)
       $u - Affiliation (NR)
+      $0 - Authority record control number (R)
       $4 - Relator code (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  130 - MAIN ENTRY--UNIFORM TITLE (NR)
+      $8 - Field link and sequence number (R)
+
+130 - MAIN ENTRY--UNIFORM TITLE (NR)
    Indicators 
       First - Nonfiling characters
          0-9 - Number of nonfiling characters present
@@ -3153,11 +3302,13 @@
       $r - Key for music (NR)
       $s - Version (NR)
       $t - Title of a work (NR)
+      $0 - Authority record control number (R)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
 
+
 --Title and Title-Related Fields (20X-24X)--
-  210 - ABBREVIATED TITLE (R)
+210 - ABBREVIATED TITLE (R)
    Indicators
       First - Title added entry
          0 - No added entry
@@ -3170,8 +3321,9 @@
       $b - Qualifying information (NR)
       $2 - Source (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  211 - ACRONYM OR SHORTENED TITLE (R) [OBSOLETE]
+      $8 - Field link and sequence number (R)
+
+211 - ACRONYM OR SHORTENED TITLE (R) [OBSOLETE]
    Indicators
       First - Title added entry
          0 - No title added entry
@@ -3181,7 +3333,8 @@
    Subfield Codes
       $a - Acronym or shortened title (NR)
       $6 - Linkage (NR)
-  212 - VARIANT ACCESS TITLE (R) [OBSOLETE]
+
+212 - VARIANT ACCESS TITLE (R) [OBSOLETE]
    Indicators
       First - Title added entry
          0 - No title added entry
@@ -3191,7 +3344,8 @@
    Subfield Codes
       $a - Variant access title (NR)
       $6 - Linkage (NR)
-  214 - AUGMENTED TITLE (R) [OBSOLETE]
+
+214 - AUGMENTED TITLE (R) [OBSOLETE]
    Indicators
       First - Title added entry
          0 - No title added entry
@@ -3201,12 +3355,12 @@
    Subfield Codes
       $a - Augmented title (NR)
       $6 - Linkage (NR)
-  222 - KEY TITLE (R)
+
+222 - KEY TITLE (R)
    Indicators
       First - Undefined
          # - Undefined
-      First - Specifies whether variant title and/or added entry is required
-              (CF SE) [OBSOLETE]
+      First - Specifies whether variant title and/or added entry is required (CF SE) [OBSOLETE]
          0 - No key title added entry; title proper same
          1 - Key title added entry; title proper different
          2 - Key title added entry; title proper same
@@ -3218,7 +3372,8 @@
       $b - Qualifying information (NR)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  240 - UNIFORM TITLE (NR)
+
+240 - UNIFORM TITLE (NR)
    Indicators
       First - Uniform title printed or displayed
          0 - Not printed or displayed
@@ -3241,9 +3396,11 @@
       $p - Name of part/section of a work (R)
       $r - Key for music (NR)
       $s - Version (NR)
+      $0 - Authority record control number (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  241 - ROMANIZED TITLE (BK AM CF MP MU VM) (NR) [OBSOLETE]
+      $8 - Field link and sequence number (R)
+
+241 - ROMANIZED TITLE (BK AM CF MP MU VM) (NR) [OBSOLETE]
    Indicators
       First - Title added entry
          0 - No title added entry
@@ -3253,7 +3410,8 @@
    Subfield Codes
       $a - Romanized title (NR)
       $h - Medium (NR)
-  242 - TRANSLATION OF TITLE BY CATALOGING AGENCY (R)
+
+242 - TRANSLATION OF TITLE BY CATALOGING AGENCY (R)
    Indicators
       First - Title added entry
          0 - No added entry
@@ -3271,8 +3429,9 @@
       $p - Name of part/section of a work (R)
       $y - Language code of translated title (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  243 - COLLECTIVE UNIFORM TITLE (NR)
+      $8 - Field link and sequence number (R)
+
+243 - COLLECTIVE UNIFORM TITLE (NR)
    Indicators 
       First - Uniform title printed or displayed
          0 - Not printed or displayed
@@ -3296,8 +3455,9 @@
       $r - Key for music (NR)
       $s - Version (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R) 
-  245 - TITLE STATEMENT (NR)
+      $8 - Field link and sequence number (R)
+
+245 - TITLE STATEMENT (NR)
    Indicators
       First - Title added entry
          0 - No added entry
@@ -3319,7 +3479,8 @@
       $s - Version (NR)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  246 - VARYING FORM OF TITLE (R)
+
+246 - VARYING FORM OF TITLE (R)
    Indicators
       First - Note/added entry controller
          0 - Note, no added entry
@@ -3350,8 +3511,9 @@
       $p - Name of part/section of a work (R)
       $5 - Institution to which field applies (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R) 
-  247 - FORMER TITLE (R)
+      $8 - Field link and sequence number (R)
+
+247 - FORMER TITLE (R)
    Indicators
       First - Title added entry
          0 - No added entry
@@ -3373,8 +3535,9 @@
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
 
+
 --Edition, Imprint, etc. Fields 250-270--
-  250 - EDITION STATEMENT (NR)
+250 - EDITION STATEMENT (NR)
    Indicators
       First - Undefined
          # - Undefined
@@ -3385,7 +3548,8 @@
       $b - Remainder of edition statement (NR)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  254 - MUSICAL PRESENTATION STATEMENT (NR)
+
+254 - MUSICAL PRESENTATION STATEMENT (NR)
    Indicators
       First - Undefined
          # - Undefined
@@ -3394,8 +3558,9 @@
    Subfield Codes
       $a - Musical presentation statement (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  255 - CARTOGRAPHIC MATHEMATICAL DATA (R)
+      $8 - Field link and sequence number (R)
+
+255 - CARTOGRAPHIC MATHEMATICAL DATA (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -3410,8 +3575,9 @@
       $f - Outer G-ring coordinate pairs (NR)
       $g - Exclusion G-ring coordinate pairs (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  256 - COMPUTER FILE CHARACTERISTICS (NR)
+      $8 - Field link and sequence number (R)
+
+256 - COMPUTER FILE CHARACTERISTICS (NR)
    Indicators
       First - Undefined
          # - Undefined
@@ -3420,8 +3586,9 @@
    Subfield Codes
       $a - Computer file characteristics (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R) 
-  257 - COUNTRY OF PRODUCING ENTITY FOR ARCHIVAL FILMS (NR)
+      $8 - Field link and sequence number (R)
+
+257 - COUNTRY OF PRODUCING ENTITY FOR ARCHIVAL FILMS (NR)
    Indicators
       First - Undefined
          # - Undefined
@@ -3430,8 +3597,9 @@
    Subfield Codes
       $a - Country of producing entity (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  258 - PHILATELIC ISSUE DATE (R)
+      $8 - Field link and sequence number (R)
+
+258 - PHILATELIC ISSUE DATE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -3441,8 +3609,9 @@
       $a - Issuing jurisdiction (NR)
       $b - Denomination (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R) 
-  260 - PUBLICATION, DISTRIBUTION, ETC. (IMPRINT) (R)
+      $8 - Field link and sequence number (R)
+
+260 - PUBLICATION, DISTRIBUTION, ETC. (IMPRINT) (R)
    Indicators
       First - Sequence of publishing statements
          # - Not applicable/No information provided/Earliest available publisher
@@ -3465,9 +3634,10 @@
       $f - Manufacturer (R)
       $g - Date of manufacture (R)
       $3 - Materials specified (NR)
-          $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  261 - IMPRINT STATEMENT FOR FILMS (Pre-AACR 1 Revised) (NR) [LOCAL]
+      $6 - Linkage (NR)
+      $8 - Field link and sequence number (R)
+
+261 - IMPRINT STATEMENT FOR FILMS (Pre-AACR 1 Revised) (NR) [LOCAL]
    Indicators
       First - Undefined
          # - Undefined
@@ -3480,8 +3650,9 @@
       $e - Contractual producer (R)
       $f - Place of production, release, etc. (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  262 - IMPRINT STATEMENT FOR SOUND RECORDINGS (Pre-AACR 2) (NR) [LOCAL]
+      $8 - Field link and sequence number (R)
+
+262 - IMPRINT STATEMENT FOR SOUND RECORDINGS (Pre-AACR 2) (NR) [LOCAL]
    Indicators
       First - Undefined
          # - Undefined
@@ -3494,8 +3665,9 @@
       $k - Serial identification (NR)
       $l - Matrix and/or take number (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  263 - PROJECTED PUBLICATION DATE (NR)
+      $8 - Field link and sequence number (R)
+
+263 - PROJECTED PUBLICATION DATE (NR)
    Indicators
       First - Undefined
          # - Undefined
@@ -3504,8 +3676,9 @@
    Subfield Code
       $a - Projected publication date (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  265 - SOURCE FOR ACQUISITION/SUBSCRIPTION ADDRESS (NR) [OBSOLETE]
+      $8 - Field link and sequence number (R)
+
+265 - SOURCE FOR ACQUISITION/SUBSCRIPTION ADDRESS (NR) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -3514,7 +3687,8 @@
    Subfield Codes
       $a - Source for acquisition/subscription address (R)
       $6 - Linkage (NR)
-  270 - ADDRESS (R)
+
+270 - ADDRESS (R)
    Indicators
       First - Level
          # - No level specified
@@ -3546,9 +3720,10 @@
       $4 - Relator code (R)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-          
+
+
 --Physical Description, etc. Fields (3XX)--
-  300 - PHYSICAL DESCRIPTION (R)
+300 - PHYSICAL DESCRIPTION (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -3563,8 +3738,9 @@
       $g - Size of unit (R)
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  301 - PHYSICAL DESCRIPTION FOR FILMS (PRE-AACR 2) (VM) [OBSOLETE]
+      $8 - Field link and sequence number (R)
+
+301 - PHYSICAL DESCRIPTION FOR FILMS (PRE-AACR 2) (VM) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -3577,7 +3753,8 @@
       $d - Dimensions (NR)
       $e - Accompanying material (NR)
       $f - Speed (NR)
-  302 - PAGE OR ITEM COUNT (BK AM) [OBSOLETE]
+
+302 - PAGE OR ITEM COUNT (BK AM) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -3585,7 +3762,8 @@
          # - Undefined
    Subfield Codes
       $a - Page count (NR)
-  303 - UNIT COUNT (AM) [OBSOLETE]
+
+303 - UNIT COUNT (AM) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -3593,7 +3771,8 @@
          # - Undefined
    Subfield Codes
       $a - Unit count (NR)
-  304 - LINEAR FOOTAGE (AM) [OBSOLETE]
+
+304 - LINEAR FOOTAGE (AM) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -3601,7 +3780,8 @@
          # - Undefined
    Subfield Codes
       $a - Linear footage (NR)
-  305 - PHYSICAL DESCRIPTION FOR SOUND RECORDINGS (Pre-AACR 2) (MU) [OBSOLETE]
+
+305 - PHYSICAL DESCRIPTION FOR SOUND RECORDINGS (Pre-AACR 2) (MU) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -3617,7 +3797,8 @@
       $m - Serial identification (NR)
       $n - Matrix and/or take number (NR)
       $6 - Linkage (NR)
-  306 - PLAYING TIME (NR)
+
+306 - PLAYING TIME (NR)
    Indicators
       First - Undefined
          # - Undefined
@@ -3626,8 +3807,9 @@
    Subfield Code
       $a - Playing time (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  307 - HOURS, ETC. (R)
+      $8 - Field link and sequence number (R)
+
+307 - HOURS, ETC. (R)
    Indicators
       First - Display constant controller
          # - Hours
@@ -3638,8 +3820,9 @@
       $a - Hours (NR)
       $b - Additional information (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  308 - PHYSICAL DESCRIPTION FOR FILMS (ARCHIVAL) (VM) [OBSOLETE]
+      $8 - Field link and sequence number (R)
+
+308 - PHYSICAL DESCRIPTION FOR FILMS (ARCHIVAL) (VM) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -3653,7 +3836,8 @@
       $e - Width (NR)
       $f - Presentation format (NR)
       $6 - Linkage (NR)
-  310 - CURRENT PUBLICATION FREQUENCY (NR)
+
+310 - CURRENT PUBLICATION FREQUENCY (NR)
    Indicators
       First - Undefined
          # - Undefined
@@ -3663,8 +3847,9 @@
       $a - Current publication frequency (NR)
       $b - Date of current publication frequency (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  315 - FREQUENCY (NR) (CF MP) [OBSOLETE]
+      $8 - Field link and sequence number (R)
+
+315 - FREQUENCY (NR) (CF MP) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -3674,7 +3859,8 @@
       $a - Frequency (R)
       $b - Dates of frequency (R)
       $6 - Linkage (NR)
- 321 - FORMER PUBLICATION FREQUENCY (R)
+
+321 - FORMER PUBLICATION FREQUENCY (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -3684,8 +3870,9 @@
       $a - Former publication frequency (NR)
       $b - Dates of former publication frequency (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R) 
-  340 - PHYSICAL MEDIUM (R)
+      $8 - Field link and sequence number (R)
+
+340 - PHYSICAL MEDIUM (R)
    Indicators 
       First - Undefined
          # - Undefined
@@ -3702,8 +3889,9 @@
       $i - Technical specifications of medium (R)
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  342 - GEOSPATIAL REFERENCE DATA (R)
+      $8 - Field link and sequence number (R)
+
+342 - GEOSPATIAL REFERENCE DATA (R)
    Indicators
       First - Geospatial reference dimension
          0 - Horizontal coordinate system
@@ -3732,8 +3920,7 @@
       $k - Scale factor (NR)
       $l - Height of perspective point above surface (NR)
       $m - Azimuthal angle (NR)
-      $n - Azimuth measure point longitude or straight vertical 
-               longitude from pole (NR)
+      $n - Azimuth measure point longitude or straight vertical longitude from pole (NR)
       $o - Landsat number and path number (NR)
       $p - Zone identifier (NR)
       $q - Ellipsoid name (NR)
@@ -3745,8 +3932,9 @@
       $w - Local planar or local georeference information (NR)
       $2 - Reference method used (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  343 - PLANAR COORDINATE DATA (R)
+      $8 - Field link and sequence number (R)
+
+343 - PLANAR COORDINATE DATA (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -3763,8 +3951,9 @@
       $h - Bearing reference direction (NR)
       $i - Bearing reference meridian (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  350 - PRICE (NR) (BK AM CF MU VM SE) [OBSOLETE] 
+      $8 - Field link and sequence number (R)
+
+350 - PRICE (NR) (BK AM CF MU VM SE) [OBSOLETE] 
    Indicators
       First - Undefined
          # - Undefined
@@ -3774,7 +3963,8 @@
       $a - Price (R)
       $b - Form of issue (R)
       $6 - Linkage (NR)
-  351 - ORGANIZATION AND ARRANGEMENT OF MATERIALS (R)
+
+351 - ORGANIZATION AND ARRANGEMENT OF MATERIALS (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -3786,8 +3976,9 @@
       $c - Hierarchical level (NR)
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  352 - DIGITAL GRAPHIC REPRESENTATION (R)
+      $8 - Field link and sequence number (R)
+
+352 - DIGITAL GRAPHIC REPRESENTATION (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -3804,8 +3995,9 @@
       $i - Indirect reference description (NR)
       $q - Format of the digital image (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R) 
-  355 - SECURITY CLASSIFICATION CONTROL (R)
+      $8 - Field link and sequence number (R)
+
+355 - SECURITY CLASSIFICATION CONTROL (R)
    Indicators
       First - Controlled element
          0 - Document
@@ -3828,8 +4020,9 @@
       $h - Declassification date (NR)
       $j - Authorization (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  357 - ORIGINATOR DISSEMINATION CONTROL (NR)
+      $8 - Field link and sequence number (R)
+
+357 - ORIGINATOR DISSEMINATION CONTROL (NR)
    Indicators
       First - Undefined
          # - Undefined
@@ -3841,8 +4034,9 @@
       $c - Authorized recipients of material (R)
       $g - Other restrictions (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  359 - RENTAL PRICE (VM) [OBSOLETE]
+      $8 - Field link and sequence number (R)
+
+359 - RENTAL PRICE (VM) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -3850,7 +4044,8 @@
          # - Undefined
    Subfield Code
       $a - Rental price (NR)
-  362 - DATES OF PUBLICATION AND/OR SEQUENTIAL DESIGNATION (R)
+
+362 - DATES OF PUBLICATION AND/OR SEQUENTIAL DESIGNATION (R)
    Indicators
       First - Format of date
          0 - Formatted style
@@ -3862,7 +4057,39 @@
       $z - Source of information (NR)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  365 - TRADE PRICE (R)
+
+363 - NORMALIZED DATE AND SEQUENTIAL DESIGNATION (R)
+   Indicators
+      First - Start/End designator
+         # - No information provided          
+         0 - Starting information          
+         1 - Ending information 
+      Second - State of issuance
+         # - Not specified
+         0 - Closed
+         1 - Open 
+   Subfield Codes
+      $a - First level of enumeration (NR)       
+      $b - Second level of enumeration (NR)       
+      $c - Third level of enumeration (NR)       
+      $d - Fourth level of enumeration (NR)       
+      $e - Fifth level of enumeration (NR)       
+      $f - Sixth level of enumeration (NR)       
+      $g - Alternative numbering scheme, first level of enumeration (NR)       
+      $h - Alternative numbering scheme, second level of enumeration (NR)       
+      $i - First level of chronology (NR)
+      $j - Second level of chronology (NR) 
+      $k - Third level of chronology (NR) 
+      $l - Fourth level of chronology (NR) 
+      $m - Alternative numbering scheme, chronology (NR) 
+      $u - First level textual designation (NR) 
+      $v - First level of chronology, issuance (NR) 
+      $x - Nonpublic note (R)
+      $z - Public note (R) 
+      $6 - Linkage (NR) 
+      $8 - Field link and sequence number (NR)
+
+365 - TRADE PRICE (R)
    Indicators
       First - Undefined
          # - Undefined 
@@ -3884,7 +4111,8 @@
       $2 - Source of price type code (NR)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  366 - TRADE AVAILABILITY INFORMATION (R)
+
+366 - TRADE AVAILABILITY INFORMATION (R)
    Indicators
       First - Undefined
          # - Undefined 
@@ -3903,9 +4131,11 @@
       $m - Identification of agency (NR)
       $2 - Source of availability status code (NR)
       $6 - Linkage (NR) 
-      $8 - Field link and sequence number (R) 
+      $8 - Field link and sequence number (R)
+
+
 --Series Statement Fields (4XX)--
-  400 - SERIES STATEMENT/ADDED ENTRY--PERSONAL NAME  (R) [US-LOCAL]
+400 - SERIES STATEMENT/ADDED ENTRY--PERSONAL NAME  (R) [US-LOCAL]
    Indicators
       First - Type of personal name entry element
          0 - Forename
@@ -3934,8 +4164,9 @@
       $x - International Standard Serial Number  (NR)
       $4 - Relator code (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number  (R)   
-  410 - SERIES STATEMENT/ADDED ENTRY--CORPORATE NAME (R) [US-LOCAL]
+      $8 - Field link and sequence number  (R)
+
+410 - SERIES STATEMENT/ADDED ENTRY--CORPORATE NAME (R) [US-LOCAL]
    Indicators
       First - Type of corporate name entry element
          0 - Inverted name
@@ -3962,8 +4193,9 @@
       $x - International Standard Serial Number (NR)
       $4 - Relator code (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  411 - SERIES STATEMENT/ADDED ENTRY--MEETING NAME (R) [US-LOCAL]
+      $8 - Field link and sequence number (R)
+
+411 - SERIES STATEMENT/ADDED ENTRY--MEETING NAME (R) [US-LOCAL]
    Indicators
       First - Type of meeting name entry element
          0 - Inverted name
@@ -3991,8 +4223,9 @@
       $x - International Standard Serial Number (NR)
       $4 - Relator code (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R) 
-  440 - SERIES STATEMENT/ADDED ENTRY--TITLE (R)
+      $8 - Field link and sequence number (R)
+
+440 - SERIES STATEMENT/ADDED ENTRY--TITLE (R) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -4003,14 +4236,18 @@
       $n - Number of part/section of a work (R)
       $p - Name of part/section of a work (R)
       $v - Volume number/sequential designation  (NR)
+      $w - Bibliographic record control number (R)
       $x - International Standard Serial Number (NR)
+      $0 - Authority record control number (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  490 - SERIES STATEMENT (R)
+      $8 - Field link and sequence number (R)
+
+490 - SERIES STATEMENT (R)
    Indicators
       First - Specifies whether series is traced
          0 - Series not traced
-         1 - Series traced differently
+         1 - Series traced [REDEFINED]
+         1 - Series traced differently 
       Second - Undefined
          # - Undefined
    Subfield Codes
@@ -4018,11 +4255,13 @@
       $l - Library of Congress call number (NR)
       $v - Volume number/sequential designation  (R)
       $x - International Standard Serial Number (NR)
+      $3 - Materials specified
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-          
+
+
 --Note Fields (Part 1: 50X-53X)--
-  500 - GENERAL NOTE (R)
+500 - GENERAL NOTE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4036,8 +4275,9 @@
       $3 - Materials specified (NR)
       $5 - Institution to which field applies (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  501 - WITH NOTE (R)
+      $8 - Field link and sequence number (R)
+
+501 - WITH NOTE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4047,8 +4287,9 @@
       $a - With note (NR)
       $5 - Institution to which field applies (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  502 - DISSERTATION NOTE (R)
+      $8 - Field link and sequence number (R)
+
+502 - DISSERTATION NOTE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4056,9 +4297,15 @@
          # - Undefined
    Subfield Codes
       $a - Dissertation note (NR)
+      $b - Degree type (NR)
+      $c - Name of granting institution (NR)  
+      $d - Year of degree granted (NR)
+      $g - Miscellaneous information (R)
+      $o - Dissertation identifier (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  503 - BIBLIOGRAPHIC HISTORY NOTE (R) (BK CF MU) [OBSOLETE]
+      $8 - Field link and sequence number (R)
+
+503 - BIBLIOGRAPHIC HISTORY NOTE (R) (BK CF MU) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -4067,7 +4314,8 @@
    Subfield Codes
       $a - Bibliographic history note (NR)
       $6 - Linkage (NR)
-  504 - BIBLIOGRAPHY, ETC. NOTE (R)
+
+504 - BIBLIOGRAPHY, ETC. NOTE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4077,8 +4325,9 @@
       $a - Bibliography, etc. note (NR)
       $b - Number of references (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  505 - FORMATTED CONTENTS NOTE (R)
+      $8 - Field link and sequence number (R)
+
+505 - FORMATTED CONTENTS NOTE (R)
    Indicators
       First - Display constant controller
          0 - Contents
@@ -4095,11 +4344,14 @@
       $t - Title (R)
       $u - Uniform Resource Identifier (R) 
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  506 - RESTRICTIONS ON ACCESS NOTE (R)
+      $8 - Field link and sequence number (R)
+
+506 - RESTRICTIONS ON ACCESS NOTE (R)
    Indicators
-      First - Undefined
-         # - Undefined
+      First - Restriction
+         # - No information provided         
+         0 - No restrictions
+         1 - Restrictions apply
       Second - Undefined
          # - Undefined
    Subfield Codes
@@ -4108,12 +4360,15 @@
       $c - Physical access provisions (R)
       $d - Authorized users (R)
       $e - Authorization (R)
+      $f - Standardized terminology for access restriction (R)
       $u - Uniform Resource Identifier (R)
+      $2 - Source of term (NR)
       $3 - Materials specified (NR)
       $5 - Institution to which field applies (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  507 - SCALE NOTE FOR GRAPHIC MATERIAL (NR)
+      $8 - Field link and sequence number (R)
+
+507 - SCALE NOTE FOR GRAPHIC MATERIAL (NR)
    Indicators
       First - Undefined
          # - Undefined
@@ -4123,8 +4378,9 @@
       $a - Representative fraction of scale note (NR)
       $b - Remainder of scale note (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  508 - CREATION/PRODUCTION CREDITS NOTE (R)
+      $8 - Field link and sequence number (R)
+
+508 - CREATION/PRODUCTION CREDITS NOTE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4133,8 +4389,9 @@
    Subfield Codes
       $a - Creation/production credits note (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  510 - CITATION/REFERENCES NOTE (R)
+      $8 - Field link and sequence number (R)
+
+510 - CITATION/REFERENCES NOTE (R)
    Indicators
       First - Coverage/location in source
          0 - Coverage unknown
@@ -4151,8 +4408,9 @@
       $x - International Standard Serial Number (NR)
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  511 - PARTICIPANT OR PERFORMER NOTE (R)
+      $8 - Field link and sequence number (R)
+
+511 - PARTICIPANT OR PERFORMER NOTE (R)
    Indicators
       First - Display constant controller
          # - No information provided (VM MU) [OBSOLETE]
@@ -4165,8 +4423,9 @@
    Subfield Codes
       $a - Participant or performer note (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R) 
-  512 - EARLIER OR LATER VOLUMES SEPARATELY CATALOGED NOTE (SE) (R) [OBSOLETE]
+      $8 - Field link and sequence number (R)
+
+512 - EARLIER OR LATER VOLUMES SEPARATELY CATALOGED NOTE (SE) (R) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -4175,7 +4434,8 @@
    Subfield Codes
       $a - Earlier or later volumes separately cataloged note (NR)
       $6 - Linkage (NR)
-  513 - TYPE OF REPORT AND PERIOD COVERED NOTE (R)
+
+513 - TYPE OF REPORT AND PERIOD COVERED NOTE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4185,8 +4445,9 @@
       $a - Type of report (NR)
       $b - Period covered (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  514 - DATA QUALITY NOTE (NR)
+      $8 - Field link and sequence number (R)
+
+514 - DATA QUALITY NOTE (NR)
    Indicators
       First - Undefined
          # - Undefined
@@ -4208,8 +4469,9 @@
       $u - Uniform Resource Identifier (R)
       $z - Display note (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)    
-  515 - NUMBERING PECULIARITIES NOTE (R)
+      $8 - Field link and sequence number (R)
+
+515 - NUMBERING PECULIARITIES NOTE (R)
    Indicators 
       First - Undefined
          # - Undefined
@@ -4219,8 +4481,9 @@
       $a - Numbering peculiarities note (NR)
       $z - Source of note information (NR) (SE) [OBSOLETE]
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  516 - TYPE OF COMPUTER FILE OR DATA NOTE (R)
+      $8 - Field link and sequence number (R)
+
+516 - TYPE OF COMPUTER FILE OR DATA NOTE (R)
    Indicators
       First - Display constant controller
          # - Type of file
@@ -4231,7 +4494,8 @@
       $a - Type of computer file or data note (NR)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-   517 - CATEGORIES OF FILMS NOTE (ARCHIVAL) (VM) (NR) [OBSOLETE]
+
+517 - CATEGORIES OF FILMS NOTE (ARCHIVAL) (VM) (NR) [OBSOLETE]
    Indicators
       First - Fiction specification
          0 - Nonfiction
@@ -4244,7 +4508,8 @@
       $a - Different formats (NR)
       $b - Content descriptors (R)
       $c - Additional animation techniques (R)
-  518 - DATE/TIME AND PLACE OF AN EVENT NOTE (R)
+
+518 - DATE/TIME AND PLACE OF AN EVENT NOTE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4254,8 +4519,9 @@
       $a - Date/time and place of an event note (NR)
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  520 - SUMMARY, ETC. (R)
+      $8 - Field link and sequence number (R)
+
+520 - SUMMARY, ETC. (R)
    Indicators
       First - Display constant controller
          # - Summary
@@ -4263,18 +4529,22 @@
          1 - Review
          2 - Scope and content
          3 - Abstract
+         4 - Content advice
          8 - No display constant generated
       Second - Undefined
          # - Undefined
    Subfield Codes
       $a - Summary, etc. note (NR)
       $b - Expansion of summary note (NR)
+      $c - Assigning agency (NR)
       $u - Uniform Resource Identifier (R)
       $z - Source of note information (NR) [OBSOLETE]
+      $2 - Source (NR)
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  521 - TARGET AUDIENCE NOTE (R)
+      $8 - Field link and sequence number (R)
+
+521 - TARGET AUDIENCE NOTE (R)
    Indicators
       First - Display constant controller
          # - Audience
@@ -4291,7 +4561,8 @@
       $b - Source (NR)
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
+      $8 - Field link and sequence number (R)
+
   522 - GEOGRAPHIC COVERAGE NOTE (R)
    Indicators
       First - Display constant controller
@@ -4303,7 +4574,8 @@
       $a - Geographic coverage note (NR)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
- 523 - TIME PERIOD OF CONTENT NOTE (NR) (CF) [OBSOLETE]
+
+523 - TIME PERIOD OF CONTENT NOTE (NR) (CF) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -4313,7 +4585,8 @@
       $a - Time period of content note (NR)
       $b - Dates of data collection note (NR)
       $6 - Linkage (NR)
-  524 - PREFERRED CITATION OF DESCRIBED MATERIALS NOTE (R)
+
+524 - PREFERRED CITATION OF DESCRIBED MATERIALS NOTE (R)
    Indicators
       First - Display constant controller
          # - Cite as
@@ -4325,8 +4598,9 @@
       $2 - Source of schema used (NR)
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  525 - SUPPLEMENT NOTE (R)
+      $8 - Field link and sequence number (R)
+
+525 - SUPPLEMENT NOTE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4336,8 +4610,9 @@
       $a - Supplement note (NR)
       $z - Source of note information (NR) (SE) [OBSOLETE]
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  526 - STUDY PROGRAM INFORMATION NOTE (R)
+      $8 - Field link and sequence number (R)
+
+526 - STUDY PROGRAM INFORMATION NOTE (R)
    Indicators
       First - Display constant controller
          0 - Reading program
@@ -4354,8 +4629,9 @@
       $z - Public note (R)
       $5 - Institution to which field applies (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  527 - CENSORSHIP NOTE (VM) (R) [OBSOLETE]
+      $8 - Field link and sequence number (R)
+
+527 - CENSORSHIP NOTE (VM) (R) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -4364,7 +4640,8 @@
    Subfield Codes
       $a - Censorship note (NR)
       $6 - Linkage (NR)
-  530 - ADDITIONAL PHYSICAL FORM AVAILABLE NOTE (R)
+
+530 - ADDITIONAL PHYSICAL FORM AVAILABLE NOTE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4379,8 +4656,9 @@
       $z - Source of note information (NR) (AM CF VM SE) [OBSOLETE]
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  533 - REPRODUCTION NOTE (R)
+      $8 - Field link and sequence number (R)
+
+533 - REPRODUCTION NOTE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4396,6 +4674,7 @@
       $m - Dates and/or sequential designation of issues reproduced (R)
       $n - Note about reproduction (R)
       $3 - Materials specified (NR)
+      $5 - Institution to which field applies (NR)
       $6 - Linkage (NR)
       $7 - Fixed-length data elements of reproduction (NR)
          0 - Type of date/Publication status
@@ -4407,8 +4686,9 @@
          13 - Regularity
             # - Not applicable
          14 - Form of item
-      $8 - Field link and sequence number (R)   
-  534 - ORIGINAL VERSION NOTE (R)
+      $8 - Field link and sequence number (R)
+
+534 - ORIGINAL VERSION NOTE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4427,13 +4707,15 @@
       $l - Location of original (NR)
       $m - Material specific details (NR)
       $n - Note about original (R)
+      $o - Other resource identifier (R) 
       $p - Introductory phrase (NR)
       $t - Title statement of original (NR)
       $x - International Standard Serial Number (R)
       $z - International Standard Book Number (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  535 - LOCATION OF ORIGINALS/DUPLICATES NOTE (R)
+      $8 - Field link and sequence number (R)
+
+535 - LOCATION OF ORIGINALS/DUPLICATES NOTE (R)
    Indicators 
       First - Additional information about custodian
          0 - Repository (AM) [OBSOLETE]
@@ -4450,10 +4732,11 @@
       $g - Repository location code (NR)
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-          
+      $8 - Field link and sequence number (R)
+
+
 --Note Fields (Part 2: 53X-58X)--
-  536 - FUNDING INFORMATION NOTE (R)
+536 - FUNDING INFORMATION NOTE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4469,8 +4752,9 @@
       $g - Task number (R)
       $h - Work unit number (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  537 - SOURCE OF DATA NOTE (NR) (CF) [OBSOLETE]
+      $8 - Field link and sequence number (R)
+
+537 - SOURCE OF DATA NOTE (NR) (CF) [OBSOLETE]
    Indicators
       First - Display constant controller
          # - No information provided
@@ -4480,7 +4764,8 @@
    Subfield Codes
       $a - Source of data note (NR)
       $6 - Linkage (NR)
-  538 - SYSTEM DETAILS NOTE (R)
+
+538 - SYSTEM DETAILS NOTE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4491,9 +4776,11 @@
       $i - Display text (NR)
       $u - Uniform Resource Identifier (R)
       $3 - Materials specified  (NR)
+      $5 - Institution to which field applies (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  540 - TERMS GOVERNING USE AND REPRODUCTION NOTE (R)
+      $8 - Field link and sequence number (R)
+
+540 - TERMS GOVERNING USE AND REPRODUCTION NOTE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4508,8 +4795,9 @@
       $3 - Materials specified (NR)
       $5 - Institution to which field applies (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  541 - IMMEDIATE SOURCE OF ACQUISITION NOTE (R)
+      $8 - Field link and sequence number (R)
+
+541 - IMMEDIATE SOURCE OF ACQUISITION NOTE (R)
    Indicators 
       First - Privacy
          # - No information provided
@@ -4530,8 +4818,40 @@
       $3 - Materials specified (NR)
       $5 - Institution to which field applies (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  543 - SOLICITATION INFORMATION NOTE (AM) (R) [OBSOLETE]
+      $8 - Field link and sequence number (R)
+
+542 - INFORMATION RELATING TO COPYRIGHT STATUS (R)
+   Indicators
+      First - Privacy
+         # - No information provided
+         0 - Private
+         1 - Not private
+      Second - Undefined
+         # - Undefined
+      $a - Personal creator (NR)
+      $b - Personal creator death date (NR)
+      $c - Corporate creator (NR)
+      $d - Copyright holder (R)
+      $e - Copyright holder contact information (R)
+      $f - Copyright statement (R)
+      $g - Copyright date (NR)
+      $h - Copyright renewal date (R)
+      $i - Publication date (NR)
+      $j - Creation date (NR)
+      $k - Publisher (R)
+      $l - Copyright status (NR)
+      $m - Publication status (NR)
+      $n - Note (R)
+      $o - Research date (NR)
+      $q - Assigning agency (NR)
+      $r - Jurisdiction of copyright assessment (NR)
+      $s - Source of information (NR)
+      $u - Uniform Resource Identifier (R)
+      $3 - Materials specified (NR)
+      $6 - Linkage (NR)
+      $8 - Field link and sequence number (R)
+
+543 - SOLICITATION INFORMATION NOTE (AM) (R) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -4540,7 +4860,8 @@
    Subfield Codes
       $a - Solicitation information note (NR)
       $6 - Linkage (NR)
-  544 - LOCATION OF OTHER ARCHIVAL MATERIALS NOTE (R)
+
+544 - LOCATION OF OTHER ARCHIVAL MATERIALS NOTE (R)
    Indicators
       First - Relationship
          # - No information provided
@@ -4557,8 +4878,9 @@
       $n - Note (R)
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  545 - BIOGRAPHICAL OR HISTORICAL DATA (R)
+      $8 - Field link and sequence number (R)
+
+545 - BIOGRAPHICAL OR HISTORICAL DATA (R)
    Indicators
       First - Type of data
          # - No information provided
@@ -4571,8 +4893,9 @@
       $b - Expansion (NR)
       $u - Uniform Resource Identifier (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  546 - LANGUAGE NOTE (R)
+      $8 - Field link and sequence number (R)
+
+546 - LANGUAGE NOTE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4584,8 +4907,9 @@
       $z - Source of note information (NR) (SE) [OBSOLETE]
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  547 - FORMER TITLE COMPLEXITY NOTE (R)
+      $8 - Field link and sequence number (R)
+
+547 - FORMER TITLE COMPLEXITY NOTE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4595,8 +4919,9 @@
       $a - Former title complexity note (NR)
       $z - Source of note information (NR) (SE) [OBSOLETE]
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  550 - ISSUING BODY NOTE (R)
+      $8 - Field link and sequence number (R)
+
+550 - ISSUING BODY NOTE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4609,8 +4934,9 @@
       $a - Issuing body note (NR)
       $z - Source of note information (NR) (SE) [OBSOLETE]
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  552 - ENTITY AND ATTRIBUTE INFORMATION NOTE (R)
+      $8 - Field link and sequence number (R)
+
+552 - ENTITY AND ATTRIBUTE INFORMATION NOTE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4637,7 +4963,8 @@
       $z - Display note (R)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  555 - CUMULATIVE INDEX/FINDING AIDS NOTE (R)
+
+555 - CUMULATIVE INDEX/FINDING AIDS NOTE (R)
    Indicators
       First - Display constant controller
          # - Indexes
@@ -4653,8 +4980,9 @@
       $u - Uniform Resource Identifier (R)
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  556 - INFORMATION ABOUT DOCUMENTATION NOTE (R)
+      $8 - Field link and sequence number (R)
+
+556 - INFORMATION ABOUT DOCUMENTATION NOTE (R)
    Indicators
       First - Display constant controller
          # - Documentation
@@ -4665,8 +4993,9 @@
       $a - Information about documentation note (NR)
       $z - International Standard Book Number (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  561 - OWNERSHIP AND CUSTODIAL HISTORY (R)
+      $8 - Field link and sequence number (R)
+
+561 - OWNERSHIP AND CUSTODIAL HISTORY (R)
    Indicators
       First - Privacy
          # - No information provided
@@ -4680,8 +5009,9 @@
       $3 - Materials specified (NR)
       $5 - Institution to which field applies (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  562 - COPY AND VERSION IDENTIFICATION NOTE (R)
+      $8 - Field link and sequence number (R)
+
+562 - COPY AND VERSION IDENTIFICATION NOTE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4696,8 +5026,9 @@
       $3 - Materials specified (NR)
       $5 - Institution to which field applies (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  563 - BINDING INFORMATION (R)
+      $8 - Field link and sequence number (R)
+
+563 - BINDING INFORMATION (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4709,8 +5040,9 @@
       $3 - Materials specified (NR)
       $5 - Institution to which field applies (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  565 - CASE FILE CHARACTERISTICS NOTE (R)
+      $8 - Field link and sequence number (R)
+
+565 - CASE FILE CHARACTERISTICS NOTE (R)
    Indicators
       First - Display constant controller
          # - File size
@@ -4727,7 +5059,8 @@
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  567 - METHODOLOGY NOTE (R)
+
+567 - METHODOLOGY NOTE (R)
    Indicators
       First - Display constant controller
          # - Methodology
@@ -4737,8 +5070,9 @@
    Subfield Codes
       $a - Methodology note (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  570 - EDITOR NOTE (SE) (R) [OBSOLETE]
+      $8 - Field link and sequence number (R)
+
+570 - EDITOR NOTE (SE) (R) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -4748,7 +5082,8 @@
       $a - Editor note (NR) 
       $z - Source of note information (NR)
       $6 - Linkage (NR)
-  580 - LINKING ENTRY COMPLEXITY NOTE (R)
+
+580 - LINKING ENTRY COMPLEXITY NOTE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4758,8 +5093,9 @@
       $a - Linking entry complexity note (NR)
       $z - Source of note information (NR) [OBSOLETE]
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  581 - PUBLICATIONS ABOUT DESCRIBED MATERIALS NOTE (R)
+      $8 - Field link and sequence number (R)
+
+581 - PUBLICATIONS ABOUT DESCRIBED MATERIALS NOTE (R)
    Indicators
       First - Display constant controller
          # - Publications
@@ -4771,8 +5107,9 @@
       $z - International Standard Book Number (R)
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  582 - RELATED COMPUTER FILES NOTE (R) (CF) [OBSOLETE]
+      $8 - Field link and sequence number (R)
+
+582 - RELATED COMPUTER FILES NOTE (R) (CF) [OBSOLETE]
    Indicators
       First - Display constant controller
          # - No information provided
@@ -4782,7 +5119,8 @@
    Subfield Codes
       $a - Related computer files note (NR)
       $6 - Linkage (NR)
-  583 - ACTION NOTE (R)
+
+583 - ACTION NOTE (R)
    Indicators
       First - Privacy
          # - No information provided
@@ -4812,7 +5150,8 @@
       $5 - Institution to which field applies (NR)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  584 - ACCUMULATION AND FREQUENCY OF USE NOTE (R)
+
+584 - ACCUMULATION AND FREQUENCY OF USE NOTE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4824,8 +5163,9 @@
       $3 - Materials specified (NR)
       $5 - Institution to which field applies (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  585 - EXHIBITIONS NOTE (R)
+      $8 - Field link and sequence number (R)
+
+585 - EXHIBITIONS NOTE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -4836,8 +5176,9 @@
       $3 - Materials specified (NR)
       $5 - Institution to which field applies (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  586 - AWARDS NOTE (R)
+      $8 - Field link and sequence number (R)
+
+586 - AWARDS NOTE (R)
    Indicators
       First - Display constant controller
          # - Awards
@@ -4848,9 +5189,10 @@
       $a - Awards note (NR)
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  59X - LOCAL NOTES
-  590 - LOCAL NOTE (BK CF MP MU SE VM MX) [OBSOLETE]
+      $8 - Field link and sequence number (R)
+	  
+--59X - LOCAL NOTES--
+590 - LOCAL NOTE (BK CF MP MU SE VM MX) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -4858,7 +5200,8 @@
          # - Undefined
    Subfield Codes
       $a - Local note (NR)
-  590 - RECEIPT DATE NOTE (VM) [OBSOLETE]
+
+590 - RECEIPT DATE NOTE (VM) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -4869,9 +5212,10 @@
       $b - Provenance (NR)
       $d - Condition of individual reels (NR)
       $d - Origin of safety copy (NR)
-          
+
+
 --Subject Access Fields (6XX)--
-  600 - SUBJECT ADDED ENTRY--PERSONAL NAME (R)
+600 - SUBJECT ADDED ENTRY--PERSONAL NAME (R)
    Indicators
       First - Type of personal name entry element
          0 - Forename
@@ -4912,12 +5256,14 @@
       $x - General subdivision (R)
       $y - Chronological subdivision (R)
       $z - Geographic subdivision (R)
+      $0 - Authority record control number (R)
       $2 - Source of heading or term (NR)
       $3 - Materials specified (NR)
       $4 - Relator code (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  610 - SUBJECT ADDED ENTRY--CORPORATE NAME (R)
+      $8 - Field link and sequence number (R)
+
+610 - SUBJECT ADDED ENTRY--CORPORATE NAME (R)
    Indicators
       First - Type of corporate name entry element
          0 - Inverted name
@@ -4927,7 +5273,7 @@
          0 - Library of Congress Subject Headings
          1 - LC subject headings for children's literature
          2 - Medical Subject Headings 
-                 3 - National Agricultural Library subject authority file
+         3 - National Agricultural Library subject authority file
          4 - Source not specified
          5 - Canadian Subject Headings
          6 - Répertoire de vedettes-matière
@@ -4955,18 +5301,20 @@
       $x - General subdivision (R)
       $y - Chronological subdivision (R)
       $z - Geographic subdivision (R)
+      $0 - Authority record control number (R)
       $2 - Source of heading or term (NR)
       $3 - Materials specified (NR)
       $4 - Relator code (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  611 - SUBJECT ADDED ENTRY--MEETING NAME (R)
+      $8 - Field link and sequence number (R)
+
+611 - SUBJECT ADDED ENTRY--MEETING NAME (R)
    Indicators
       First - Type of meeting name entry element
          0 - Inverted name
          1 - Jurisdiction name
          2 - Name in direct order
-          Second - Thesaurus
+      Second - Thesaurus
          0 - Library of Congress Subject Headings
          1 - LC subject headings for children's literature
          2 - Medical Subject Headings
@@ -4984,6 +5332,7 @@
       $f - Date of a work (NR)
       $g - Miscellaneous information (NR)
       $h - Medium (NR)
+      $j - Relator term (R)
       $k - Form subheading (R)
       $l - Language of a work (NR)
       $n - Number of part/section/meeting (R)
@@ -4996,12 +5345,14 @@
       $x - General subdivision (R)
       $y - Chronological subdivision (R)
       $z - Geographic subdivision (R)
+      $0 - Authority record control number (R)
       $2 - Source of heading or term (NR)
       $3 - Materials specified (NR)
       $4 - Relator code (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  630 - SUBJECT ADDED ENTRY--UNIFORM TITLE (R)
+      $8 - Field link and sequence number (R)
+
+630 - SUBJECT ADDED ENTRY--UNIFORM TITLE (R)
    Indicators
       First - Nonfiling characters
          0-9 - Number of nonfiling characters
@@ -5035,12 +5386,14 @@
       $x - General subdivision (R)
       $y - Chronological subdivision (R)
       $z - Geographic subdivision (R)
+      $0 - Authority record control number (R)
       $2 - Source of heading or term (NR)
       $3 - Materials specified (NR)
       $4 - Relator code (R)
       $6 - Linkage (NR) 
-      $8 - Field link and sequence number (R) 
-  648 - SUBJECT ADDED ENTRY--CHRONOLOGICAL TERM (R)
+      $8 - Field link and sequence number (R)
+
+648 - SUBJECT ADDED ENTRY--CHRONOLOGICAL TERM (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -5059,16 +5412,18 @@
       $x - General subdivision (R)
       $y - Chronological subdivision (R)
       $z - Geographic subdivision (R)
+      $0 - Authority record control number (R)
       $2 - Source of heading or term (NR)
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)    
- 650 - SUBJECT ADDED ENTRY--TOPICAL TERM (R)
+      $8 - Field link and sequence number (R)
+
+650 - SUBJECT ADDED ENTRY--TOPICAL TERM (R)
    Indicators
       First - Level of subject
          # - No information provided
          0 - No level specified
-                 1 - Primary
+         1 - Primary
          2 - Secondary
       Second - Thesaurus
          0 - Library of Congress Subject Headings
@@ -5089,12 +5444,14 @@
       $x - General subdivision (R)
       $y - Chronological subdivision (R)
       $z - Geographic subdivision (R)
+      $0 - Authority record control number (R)
       $2 - Source of heading or term (NR)
       $3 - Materials specified (NR)
       $4 - Relator code (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  651 - SUBJECT ADDED ENTRY--GEOGRAPHIC NAME (R)
+      $8 - Field link and sequence number (R)
+
+651 - SUBJECT ADDED ENTRY--GEOGRAPHIC NAME (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -5115,12 +5472,14 @@
       $x - General subdivision (R)
       $y - Chronological subdivision (R)
       $z - Geographic subdivision (R)
+      $0 - Authority record control number (R)
       $2 - Source of heading or term (NR)
       $3 - Materials specified (NR)
       $4 - Relator code (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  652 - SUBJECT ADDED ENTRY--REVERSED GEOGRAPHIC (BK MP SE) [OBSOLETE] 
+      $8 - Field link and sequence number (R)
+
+652 - SUBJECT ADDED ENTRY--REVERSED GEOGRAPHIC (BK MP SE) [OBSOLETE] 
    Indicators
       First - Undefined
          # - Undefined
@@ -5131,20 +5490,29 @@
       $x - General subdivision (R)
       $y - Chronological subdivision (R)
       $z - Geographic subdivision (R)
-  653 - INDEX TERM--UNCONTROLLED (R)
+
+653 - INDEX TERM--UNCONTROLLED (R)
    Indicators
       First - Level of index term
          # - No information provided
          0 - No level specified
          1 - Primary 
          2 - Secondary
-      Second - Undefined
-         # - Undefined
+      Second - Type of term or name
+         # - No information provided
+         0 - Topical term
+         1 - Personal name
+         2 - Corporate name
+         3 - Meeting name
+         4 - Chronological term
+         5 - Geographic name
+         6 - Genre/form term
    Subfield Codes
       $a - Uncontrolled term (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  654 - SUBJECT ADDED ENTRY--FACETED TOPICAL TERMS (R)
+      $8 - Field link and sequence number (R)
+
+654 - SUBJECT ADDED ENTRY--FACETED TOPICAL TERMS (R)
    Indicators
       First - Level of subject
          # - No information provided
@@ -5161,12 +5529,14 @@
       $v - Form subdivision (R)
       $y - Chronological subdivision (R)
       $z - Geographic subdivision (R)
+      $0 - Authority record control number (R)
       $2 - Source of heading or term (NR)
       $3 - Materials specified (NR)
       $4 - Relator code (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  655 - INDEX TERM--GENRE/FORM (R)
+      $8 - Field link and sequence number (R)
+
+655 - INDEX TERM--GENRE/FORM (R)
    Indicators
       First - Type of heading
          # - Basic
@@ -5188,12 +5558,14 @@
       $x - General subdivision (R)
       $y - Chronological subdivision (R)
       $z - Geographic subdivision (R)
+      $0 - Authority record control number (R)
       $2 - Source of term (NR)
       $3 - Materials specified (NR)
       $5 - Institution to which field applies (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  656 - INDEX TERM--OCCUPATION (R)
+      $8 - Field link and sequence number (R)
+
+656 - INDEX TERM--OCCUPATION (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -5206,11 +5578,13 @@
       $x - General subdivision (R)
       $y - Chronological subdivision (R)
       $z - Geographic subdivision (R)
+      $0 - Authority record control number (R)
       $2 - Source of term (NR)
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  657 - INDEX TERM--FUNCTION (R)
+      $8 - Field link and sequence number (R)
+
+657 - INDEX TERM--FUNCTION (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -5222,11 +5596,13 @@
       $x - General subdivision (R)
       $y - Chronological subdivision (R)
       $z - Geographic subdivision (R)
+      $0 - Authority record control number (R)
       $2 - Source of term (NR)
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  658 - INDEX TERM--CURRICULUM OBJECTIVE (R)
+
+658 - INDEX TERM--CURRICULUM OBJECTIVE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -5240,7 +5616,8 @@
       $2 - Source of term or code (NR)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  662 - SUBJECT ADDED ENTRY--HIERARCHICAL PLACE NAME (R)
+
+662 - SUBJECT ADDED ENTRY--HIERARCHICAL PLACE NAME (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -5255,13 +5632,15 @@
       $f - City subsection (R)
       $g - Other nonjurisdictional geographic region and feature (R)
       $h - Extraterrestrial area (R)
+      $0 - Authority record control number (R)
       $2 - Source of heading or term (NR)
       $4 - Relator code (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-          
+      $8 - Field link and sequence number (R)
+
+
 --Added Entry Fields (70X-75X)--
-  700 - ADDED ENTRY--PERSONAL NAME (R)
+700 - ADDED ENTRY--PERSONAL NAME (R)
    Indicators
       First - Type of personal name entry element
          0 - Forename
@@ -5297,12 +5676,14 @@
       $t - Title of a work (NR)
       $u - Affiliation (NR)
       $x - International Standard Serial Number (NR)
+      $0 - Authority record control number (R)
       $3 - Materials specified (NR)
       $4 - Relator code (R)
       $5 - Institution to which field applies (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  705 - ADDED ENTRY--PERSONAL NAME (PERFORMER) (MU) [OBSOLETE]
+      $8 - Field link and sequence number (R)
+
+705 - ADDED ENTRY--PERSONAL NAME (PERFORMER) (MU) [OBSOLETE]
    Indicators
       First - Type of personal name entry element
          0 - Forename
@@ -5331,7 +5712,8 @@
       $r - Key for music (NR)
       $s - Version (NR)
       $t - Title of a work (NR)
-  710 - ADDED ENTRY--CORPORATE NAME (R)
+
+710 - ADDED ENTRY--CORPORATE NAME (R)
    Indicators
       First - Type of corporate name entry element
          0 - Inverted name
@@ -5364,12 +5746,14 @@
       $t - Title of a work (NR)
       $u - Affiliation (NR)
       $x - International Standard Serial Number (NR)
+      $0 - Authority record control number (R)
       $3 - Materials specified (NR)
       $4 - Relator code (R)
       $5 - Institution to which field applies (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  711 - ADDED ENTRY--MEETING NAME (R)
+      $8 - Field link and sequence number (R)
+
+711 - ADDED ENTRY--MEETING NAME (R)
    Indicators
       First - Type of meeting name entry element
          0 - Inverted name
@@ -5391,6 +5775,7 @@
       $f - Date of a work (NR)
       $g - Miscellaneous information (NR)
       $h - Medium (NR)
+      $j - Relator term (R)
       $k - Form subheading (R)
       $l - Language of a work (NR)
       $n - Number of part/section/meeting (R)
@@ -5400,12 +5785,14 @@
       $t - Title of a work (NR)
       $u - Affiliation (NR)
       $x - International Standard Serial Number (NR)
+      $0 - Authority record control number (R)
       $3 - Materials specified (NR)
       $4 - Relator code (R)
       $5 - Institution to which field applies (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  715 - ADDED ENTRY--CORPORATE NAME (PERFORMING GROUP) (MU) [OBSOLETE]
+      $8 - Field link and sequence number (R)
+
+715 - ADDED ENTRY--CORPORATE NAME (PERFORMING GROUP) (MU) [OBSOLETE]
    Indicators
       First - Type of corporate name entry element
          0 - Inverted name
@@ -5432,7 +5819,8 @@
       $s - Version (NR)
       $t - Title of a work (NR)
       $u - Nonprinting information (NR)
-  720 - ADDED ENTRY--UNCONTROLLED NAME (R)
+
+720 - ADDED ENTRY--UNCONTROLLED NAME (R)
    Indicators
       First - Type of name
          # - Not specified
@@ -5445,8 +5833,9 @@
       $e - Relator term (R)
       $4 - Relator code (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  730 - ADDED ENTRY--UNIFORM TITLE (R)
+      $8 - Field link and sequence number (R)
+
+730 - ADDED ENTRY--UNIFORM TITLE (R)
    Indicators
       First - Nonfiling characters
          0-9 - Number of nonfiling characters
@@ -5474,11 +5863,13 @@
       $s - Version (NR)
       $t - Title of a work (NR)
       $x - International Standard Serial Number (NR)
+      $0 - Authority record control number (R)
       $3 - Materials specified (NR)
       $5 - Institution to which field applies (NR)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  740 - ADDED ENTRY--UNCONTROLLED RELATED/ANALYTICAL TITLE (R)
+
+740 - ADDED ENTRY--UNCONTROLLED RELATED/ANALYTICAL TITLE (R)
    Indicators
       First - Nonfiling characters
          0-9 - Number of nonfiling characters
@@ -5497,8 +5888,25 @@
       $p - Name of part/section of a work (R)
       $5 - Institution to which field applies (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  752 - ADDED ENTRY--HIERARCHICAL PLACE NAME (R)
+      $8 - Field link and sequence number (R)
+
+751 - ADDED ENTRY--GEOGRAPHIC NAME (R)
+   Indicators
+      First - Undefined
+         # - Undefined
+      Second - Undefined
+         # - Undefined
+   Subfield Codes
+      $a - Geographic name (NR)
+      $e - Relator term (R)
+      $0 - Authority record control number (R)
+      $2 - Source of heading or term (NR) 
+      $3 - Materials specified (NR)
+      $4 - Relator code (R)
+      $6 - Linkage (NR)
+      $8 - Field link and sequence number (R)
+
+752 - ADDED ENTRY--HIERARCHICAL PLACE NAME (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -5512,10 +5920,12 @@
       $f - City subsection (R)
       $g - Other nonjurisdictional geographic region and feature (R)
       $h - Extraterrestrial area (R)
+      $0 - Authority record control number (R)
       $2 - Source of heading or term (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  753 - SYSTEM DETAILS ACCESS TO COMPUTER FILES (R)
+      $8 - Field link and sequence number (R)
+
+753 - SYSTEM DETAILS ACCESS TO COMPUTER FILES (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -5526,8 +5936,9 @@
       $b - Programming language (NR)
       $c - Operating system (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  754 - ADDED ENTRY--TAXONOMIC IDENTIFICATION (R)
+      $8 - Field link and sequence number (R)
+
+754 - ADDED ENTRY--TAXONOMIC IDENTIFICATION (R)
    Indicators 
       First - Undefined
          # - Undefined
@@ -5539,10 +5950,12 @@
       $d - Common or alternative name (R)
       $x - Non-public note (R)
       $z - Public note (R)
+      $0 - Authority record control number (R)
       $2 - Source of taxonomic identification (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  755 - ADDED ENTRY--PHYSICAL CHARACTERISTICS (R) [OBSOLETE]
+      $8 - Field link and sequence number (R)
+
+755 - ADDED ENTRY--PHYSICAL CHARACTERISTICS (R) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -5557,9 +5970,10 @@
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
           $8 - Field link and sequence number (R)
-         
+
+
 --Linking Entry Fields (76X-78X)--
-  760 - MAIN SERIES ENTRY (R)
+760 - MAIN SERIES ENTRY (R)
    Indicators
       First - Note controller
          0 - Display note
@@ -5591,7 +6005,8 @@
          2 - Type of record
          3 - Bibliographic level
       $8 - Field link and sequence number (R)
-  762 - SUBSERIES ENTRY (R)
+
+762 - SUBSERIES ENTRY (R)
    Indicators
       First - Note controller
          0 - Display note
@@ -5622,8 +6037,9 @@
          1 - Form of name
          2 - Type of record
          3 - Bibliographic level
-      $8 - Field link and sequence number (R)   
-  765 - ORIGINAL LANGUAGE ENTRY (R)
+      $8 - Field link and sequence number (R)
+
+765 - ORIGINAL LANGUAGE ENTRY (R)
    Indicators
       First - Note controller
          0 - Display note
@@ -5656,10 +6072,11 @@
       $7 - Control subfield (NR)
          0 - Type of main entry heading
          1 - Form of name 
-                 2 - Type of record
+         2 - Type of record
          3 - Bibliographic level
       $8 - Field link and sequence number (R)
-  767 - TRANSLATION ENTRY (R)
+
+767 - TRANSLATION ENTRY (R)
    Indicators
       First - Note controller
          0 - Display note
@@ -5694,8 +6111,9 @@
          1 - Form of name
          2 - Type of record
          3 - Bibliographic level
-      $8 - Field link and sequence number (R)   
-  770 - SUPPLEMENT/SPECIAL ISSUE ENTRY (R)
+      $8 - Field link and sequence number (R)
+
+770 - SUPPLEMENT/SPECIAL ISSUE ENTRY (R)
    Indicators
       First - Note controller
          0 - Display note
@@ -5730,8 +6148,9 @@
          1 - Form of name
          2 - Type of record
          3 - Bibliographic level
-      $8 - Field link and sequence number (R)   
-  772 - SUPPLEMENT PARENT ENTRY (R)
+      $8 - Field link and sequence number (R)
+
+772 - SUPPLEMENT PARENT ENTRY (R)
    Indicators
       First - Note controller
          0 - Display note
@@ -5767,8 +6186,9 @@
          1 - Form of name
          2 - Type of record
          3 - Bibliographic level
-      $8 - Field link and sequence number (R)   
-  773 - HOST ITEM ENTRY (R)
+      $8 - Field link and sequence number (R)
+
+773 - HOST ITEM ENTRY (R)
    Indicators
       First - Note controller
          0 - Display note
@@ -5804,8 +6224,9 @@
          1 - Form of name
          2 - Type of record
          3 - Bibliographic level
-      $8 - Field link and sequence number (R)   
-  774 - CONSTITUENT UNIT ENTRY (R)
+      $8 - Field link and sequence number (R)
+
+774 - CONSTITUENT UNIT ENTRY (R)
    Indicators
       First - Note controller
          0 - Display note
@@ -5839,8 +6260,9 @@
          1 - Form of name
          2 - Type of record
          3 - Bibliographic level
-      $8 - Field link and sequence number (R)   
-  775 - OTHER EDITION ENTRY (R)
+      $8 - Field link and sequence number (R)
+
+775 - OTHER EDITION ENTRY (R)
    Indicators
       First - Note controller
          0 - Display note
@@ -5881,8 +6303,9 @@
          1 - Form of name
          2 - Type of record
          3 - Bibliographic level
-      $8 - Field link and sequence number (R)   
-  776 - ADDITIONAL PHYSICAL FORM ENTRY (R)
+      $8 - Field link and sequence number (R)
+
+776 - ADDITIONAL PHYSICAL FORM ENTRY (R)
    Indicators
       First - Note controller
          0 - Display note
@@ -5917,8 +6340,9 @@
          1 - Form of name 
          2 - Type of record
          3 - Bibliographic level
-      $8 - Field link and sequence number (R)  
-  777 - ISSUED WITH ENTRY (R)
+      $8 - Field link and sequence number (R)
+
+777 - ISSUED WITH ENTRY (R)
    Indicators
       First - Note controller
          0 - Display note
@@ -5950,8 +6374,9 @@
          1 - Form of name
          2 - Type of record
          3 - Bibliographic level
-      $8 - Field link and sequence number (R)  
-  780 - PRECEDING ENTRY (R)
+      $8 - Field link and sequence number (R)
+
+780 - PRECEDING ENTRY (R)
    Indicators
       First - Note controller
          0 - Display note
@@ -5989,11 +6414,12 @@
       $6 - Linkage (NR)
       $7 - Control subfield (NR)
          0 - Type of main entry heading
-         1 - Form of name 
-                 2 - Type of record
+         1 - Form of name
+         2 - Type of record
          3 - Bibliographic level
       $8 - Field link and sequence number (R)
-  785 - SUCCEEDING ENTRY (R)
+
+785 - SUCCEEDING ENTRY (R)
    Indicators
       First - Note controller
          0 - Display note
@@ -6036,7 +6462,8 @@
          2 - Type of record
          3 - Bibliographic level
       $8 - Field link and sequence number (R)
-  786 - DATA SOURCE ENTRY (R)
+
+786 - DATA SOURCE ENTRY (R)
    Indicators
       First - Note controller
          0 - Display note
@@ -6074,7 +6501,8 @@
          2 - Type of record
          3 - Bibliographic level
       $8 - Field link and sequence number (R)
-  787 - NONSPECIFIC RELATIONSHIP ENTRY (R)
+
+787 - NONSPECIFIC RELATIONSHIP ENTRY (R)
    Indicators
       First - Note controller
          0 - Display note
@@ -6109,9 +6537,10 @@
          2 - Type of record
          3 - Bibliographic level
       $8 - Field link and sequence number (R)
-   
+
+
 --Series Added Entry Fields (80X-830)--
-  800 - SERIES ADDED ENTRY--PERSONAL NAME (R)
+800 - SERIES ADDED ENTRY--PERSONAL NAME (R)
    Indicators
       First - Type of personal name entry element
          0 - Forename
@@ -6141,10 +6570,15 @@
       $t - Title of a work (NR)
       $u - Affiliation (NR)
       $v - Volume/sequential designation  (NR)
+      $w - Bibliographic record control number (R)
+      $x - International Standard Serial Number (NR)
+      $0 - Authority record control number (R)
+      $3 - Materials specified (NR)
       $4 - Relator code (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  810 - SERIES ADDED ENTRY--CORPORATE NAME (R)
+      $8 - Field link and sequence number (R)
+
+810 - SERIES ADDED ENTRY--CORPORATE NAME (R)
    Indicators
       First - Type of corporate name entry element
          0 - Inverted name
@@ -6172,10 +6606,15 @@
       $t - Title of a work (NR)
       $u - Affiliation (NR)
       $v - Volume/sequential designation (NR)
+      $w - Bibliographic record control number (R)
+      $x - International Standard Serial Number (NR)
+      $0 - Authority record control number (R)
+      $3 - Materials specified (NR)
       $4 - Relator code (R)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R) 
-  811 - SERIES ADDED ENTRY--MEETING NAME (R)
+      $8 - Field link and sequence number (R)
+
+811 - SERIES ADDED ENTRY--MEETING NAME (R)
    Indicators
       First - Type of meeting name entry element
          0 - Inverted name
@@ -6191,6 +6630,7 @@
       $f - Date of a work (NR)
       $g - Miscellaneous information (NR)
       $h - Medium (NR)
+      $j - Relator term (R)
       $k - Form subheading (R)
       $l - Language of a work (NR)
       $n - Number of part/section/meeting (R)
@@ -6200,10 +6640,15 @@
       $t - Title of a work (NR)
       $u - Affiliation (NR)
       $v - Volume/sequential designation (NR)
+      $w - Bibliographic record control number (R)
+      $x - International Standard Serial Number (NR)
+      $0 - Authority record control number (R)
+      $3 - Materials specified (NR)
       $4 - Relator code (R)
       $6 - Linkage (NR)
       $8 - Field link and sequence number (R)
-  830 - SERIES ADDED ENTRY--UNIFORM TITLE (R)
+
+830 - SERIES ADDED ENTRY--UNIFORM TITLE (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -6225,9 +6670,14 @@
       $s - Version (NR)
       $t - Title of a work (NR) 
       $v - Volume/sequential designation (NR)
+      $w - Bibliographic record control number (R)
+      $x - International Standard Serial Number (NR)
+      $0 - Authority record control number (R)
+      $3 - Materials specified (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)   
-  840 - SERIES ADDED ENTRY--TITLE (R) [OBSOLETE]
+      $8 - Field link and sequence number (R)
+
+840 - SERIES ADDED ENTRY--TITLE (R) [OBSOLETE]
    Indicators
       First - Undefined
          # - Undefined
@@ -6237,14 +6687,20 @@
       $a - Title (NR)
       $h - Medium (NR)
       $v - Volume/sequential designation (NR)
-        
+
+
 --Holdings, Location, Alternate Graphics, etc. Fields (841-88X)--
-  841 - HOLDINGS CODED DATA VALUES (NR)
-  842 - TEXTUAL PHYSICAL FORM DESIGNATOR (NR)
-  843 - REPRODUCTION NOTE (R)
-  844 - NAME OF UNIT (NR)
-  845 - TERMS GOVERNING USE AND REPRODUCTION NOTE (R)
-  850 - HOLDING INSTITUTION (R)
+841 - HOLDINGS CODED DATA VALUES (NR)
+
+842 - TEXTUAL PHYSICAL FORM DESIGNATOR (NR)
+
+843 - REPRODUCTION NOTE (R)
+
+844 - NAME OF UNIT (NR)
+
+845 - TERMS GOVERNING USE AND REPRODUCTION NOTE (R)
+
+850 - HOLDING INSTITUTION (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -6256,6 +6712,7 @@
       $d - Inclusive dates (NR) (MU VM SE) [OBSOLETE]
       $e - Retention statement (NR) (CF MU VM SE) [OBSOLETE]
       $8 - Field link and sequence number (R)
+
   851 - LOCATION (R) [OBSOLETE]
    Indicators
       First - Undefined
@@ -6272,7 +6729,8 @@
       $g - Repository location code (NR)
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
-  852 - LOCATION (R)
+
+852 - LOCATION (R)
    Indicators
       First - Shelving scheme
          # - No information provided
@@ -6294,6 +6752,7 @@
       $a - Location (NR)
       $b - Sublocation or collection (R)
       $c - Shelving location (R)
+      $d - Former shelving location (R)
       $e - Address (R)
       $f - Coded location qualifier (R)
       $g - Non-coded location qualifier (R)
@@ -6308,16 +6767,21 @@
       $q - Piece physical condition (NR)
       $s - Copyright article-fee code (R)
       $t - Copy number (NR)
+      $u - Uniform Resource Identifier  (R)
       $x - Nonpublic note (R)
       $z - Public note (R)
       $2 - Source of classification or shelving scheme (NR)
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
       $8 - Sequence number (NR)
-  853 - CAPTIONS AND PATTERN--BASIC BIBLIOGRAPHIC UNIT (R)
-  854 - CAPTIONS AND PATTERN--SUPPLEMENTARY MATERIAL (R)
-  855 - CAPTIONS AND PATTERN--INDEXES (R)
-  856 - ELECTRONIC LOCATION AND ACCESS (R)
+
+853 - CAPTIONS AND PATTERN--BASIC BIBLIOGRAPHIC UNIT (R)
+
+854 - CAPTIONS AND PATTERN--SUPPLEMENTARY MATERIAL (R)
+
+855 - CAPTIONS AND PATTERN--INDEXES (R)
+
+856 - ELECTRONIC LOCATION AND ACCESS (R)
    Indicators
       First - Access method
          # - No information provided
@@ -6362,21 +6826,35 @@
       $2 - Access method (NR)
       $3 - Materials specified (NR)
       $6 - Linkage (NR)
-      $8 - Field link and sequence number (R)  
-  863 - ENUMERATION AND CHRONOLOGY--BASIC BIBLIOGRAPHIC UNIT (R)
-  864 - ENUMERATION AND CHRONOLOGY--SUPPLEMENTARY MATERIAL (R)
-  865 - ENUMERATION AND CHRONOLOGY--INDEXES (R)
-  866 - TEXTUAL HOLDINGS--BASIC BIBLIOGRAPHIC UNIT (R)
-  867 - TEXTUAL HOLDINGS--SUPPLEMENTARY MATERIAL (R)
-  868 - TEXTUAL HOLDINGS--INDEXES (R)
-  870 - VARIANT PERSONAL NAME (SE) [OBSOLETE]
-  871 - VARIANT CORPORATE NAME (SE)[OBSOLETE] 
-  872 - VARIANT CONFERENCE OR MEETING NAME (SE) [OBSOLETE]
-  873 - VARIANT UNIFORM TITLE HEADING (SE) [OBSOLETE] 
-  876 - ITEM INFORMATION--BASIC BIBLIOGRAPHIC UNIT (R)
-  877 - ITEM INFORMATION--SUPPLEMENTARY MATERIAL (R)
-  878 - ITEM INFORMATION--INDEXES (R)
-  880 - ALTERNATE GRAPHIC REPRESENTATION (R)
+      $8 - Field link and sequence number (R)
+
+863 - ENUMERATION AND CHRONOLOGY--BASIC BIBLIOGRAPHIC UNIT (R)
+
+864 - ENUMERATION AND CHRONOLOGY--SUPPLEMENTARY MATERIAL (R)
+
+865 - ENUMERATION AND CHRONOLOGY--INDEXES (R)
+
+866 - TEXTUAL HOLDINGS--BASIC BIBLIOGRAPHIC UNIT (R)
+
+867 - TEXTUAL HOLDINGS--SUPPLEMENTARY MATERIAL (R)
+
+868 - TEXTUAL HOLDINGS--INDEXES (R)
+
+870 - VARIANT PERSONAL NAME (SE) [OBSOLETE]
+
+871 - VARIANT CORPORATE NAME (SE)[OBSOLETE]
+
+872 - VARIANT CONFERENCE OR MEETING NAME (SE) [OBSOLETE]
+
+873 - VARIANT UNIFORM TITLE HEADING (SE) [OBSOLETE]
+
+876 - ITEM INFORMATION--BASIC BIBLIOGRAPHIC UNIT (R)
+
+877 - ITEM INFORMATION--SUPPLEMENTARY MATERIAL (R)
+
+878 - ITEM INFORMATION--INDEXES (R)
+
+880 - ALTERNATE GRAPHIC REPRESENTATION (R)
    Indicators
       First - Same as associated field
       Second - Same as associated field
@@ -6385,7 +6863,21 @@
       $a-z Same as associated field
       $0-5 Same as associated field
       $7-9 Same as associated field
-  886 - FOREIGN MARC INFORMATION FIELD (R)
+
+882 - REPLACEMENT RECORD INFORMATION (NR)
+   Indicators
+      First - Undefined
+         # - Undefined
+      Second - Undefined
+         # - Undefined
+   Subfield Codes
+      $a - Replacement title (R)
+      $i - Explanatory text (R)
+      $w - Replacement bibliographic record control number (R)
+      $6 - Linkage (NR)
+      $8 - Field link and sequence number (R)
+
+886 - FOREIGN MARC INFORMATION FIELD (R)
    Indicators
       First - Type of field
          0 - Leader
@@ -6399,7 +6891,8 @@
       $2 - Source of data (NR)
       $a-z - Foreign MARC subfield (R)
       $0-9 - Foreign MARC subfield (R)
-  887 - NON-MARC INFORMATION FIELD (R)
+
+887 - NON-MARC INFORMATION FIELD (R)
    Indicators
       First - Undefined
          # - Undefined
@@ -6409,19 +6902,24 @@
       $a - Content of non-MARC field (NR)
       $2 - Source of data (NR)    
 
+
-

Go to: MARC Home Page - | Library of Congress Home Page

-

-
-Library of Congress Library -of Congress
-
- -Library of Congress Help Desk - -(03/23/2006)
- + + + + + +
+
Library of +Congress >> MARC +>> Bibliographic Field List
+ +(05/06/2009)
Contact +Us
+ + + diff -Nru /tmp/kNt17nZVRm/libmarc-lint-perl-1.43/etc/specs /tmp/3pAetPo1EE/libmarc-lint-perl-1.44/etc/specs --- libmarc-lint-perl-1.43/etc/specs 2007-10-03 20:44:53.000000000 +0100 +++ libmarc-lint-perl-1.44/etc/specs 2004-12-07 22:03:28.000000000 +0000 @@ -1,118 +1,236 @@ #!/usr/bin/perl + + use warnings; + use strict; + + =head1 specs + + Turns http://www.loc.gov/marc/bibliographic/ecbdist.html into the format + used by MARC::Lint.pm + + Takes ecbdist.html as input. Skips fixed fields and data marked + "[OBSOLETE]" Also, the HTML file doesn't include the 841-88X tags, + so those are hardcoded here. + + =head1 AUTHOR + + Originally written by Colin Campbell at Sirsi, and taken over and modified + by Andy Lester. + + =cut + + open( my $fh, "../lib/MARC/Lint.pm" ) or die "Can't open module"; + while ( <$fh> ) { + print; + last if /^__DATA__/; + } + close $fh; + + local $/ = undef; + my $text = <>; + $text =~ s/(
|\r|\n)+/\n/ig; + my @lines = split( /\n/, $text ); + + + my $in_tag = undef; + my $i1; + my $i2; + my $curr_indicator; + my $ntags; + my $desc1; + my $desc2; + + my $started = 0; + for ( @lines ) { + unless ($started) { + $started=1 if /Number and Code Fields/; + next; + } + s/^\s+//; + s/\s+$//; + next if $_ eq ""; + + if ( /^(\d\d\d)/ ) { + my $tag = $1; + if (/OBSOLETE/) { + $in_tag = 0; + next; + } + + /$tag - (.+) \((N?R)\)/ or die "Tag $tag is invalid format"; + my $desc = $1; + my $nr = $2; + ++$ntags; + $in_tag = 1; + print "\n" if $ntags > 1; + print "$tag\t$nr\t$desc\n"; + $i1 = $i2 = ""; + next; + } + + next unless $in_tag; + next if /OBSOLETE/; + + if (/^First - (.+)/) { + $curr_indicator = 1; + $desc1 = $1; + } elsif (/^Second - (.+)/) { + print_indicator( 1, $i1, $desc1 ); + undef $desc1; + $curr_indicator = 2; + $desc2 = $1; + } elsif (/^Subfield/) { + print_indicator( 2, $i2, $desc2 ); + undef $desc2; + $curr_indicator = 0; + } else { + if ($curr_indicator) { + my $data = ''; + if (/^(\d-\d)/) { + $data = $1; + } elsif (/^([#0123456789])/) { + $data = $1; + } + $data = "b" if $data eq "#"; + if ($curr_indicator == 1) { + $i1 .= $data; + } elsif ($curr_indicator == 2) { + $i2 .= $data; + } + + } else { + if ( /^\$(.) - (.+)\s*\((N?R)\)/ ) { + my ($sub,$desc,$nr) = ($1,$2,$3); + print "$sub\t$nr\t$desc\n"; + } + } + } + } # main while + + sub print_indicator { + my $n = shift; + my $val = shift; + my $desc = shift; + + $val = "blank" if $val eq "b"; + + print "ind$n\t$val\t$desc\n"; + } + diff -Nru /tmp/kNt17nZVRm/libmarc-lint-perl-1.43/lib/MARC/Lint/CodeData.pm /tmp/3pAetPo1EE/libmarc-lint-perl-1.44/lib/MARC/Lint/CodeData.pm --- libmarc-lint-perl-1.43/lib/MARC/Lint/CodeData.pm 2007-10-03 20:45:06.000000000 +0100 +++ libmarc-lint-perl-1.44/lib/MARC/Lint/CodeData.pm 2009-05-02 17:34:00.000000000 +0100 @@ -1,232 +1,557 @@ package MARC::Lint::CodeData; + + use strict; + use warnings; + + #declare the necessary variables + use vars qw($VERSION @EXPORT_OK %GeogAreaCodes %ObsoleteGeogAreaCodes %LanguageCodes %ObsoleteLanguageCodes %CountryCodes %ObsoleteCountryCodes %Sources600_651 %ObsoleteSources600_651 %Sources655 %ObsoleteSources655); -$VERSION = '1.18'; + + +$VERSION = '1.28'; + + use base qw(Exporter AutoLoader); + + @EXPORT_OK = qw(%GeogAreaCodes %ObsoleteGeogAreaCodes %LanguageCodes %ObsoleteLanguageCodes %CountryCodes %ObsoleteCountryCodes %Sources600_651 %ObsoleteSources600_651 %Sources655 %ObsoleteSources655); + + =head1 NAME and DESCRIPTION + + MARC::Lint::CodeData -- Contains codes from the MARC code lists for Geographic Areas, Languages, and Countries. + + Code data is used for validating fields 008, 040, 041, and 043. + + Also, sources for subfield 2 in 600-651 and 655. + + Stores codes in hashes, %MARC::Lint::CodeData::[name]. + + Note: According to the official MARC documentation, Sears is not a valid 655 + term. The code data below treats it as valid, in anticipation of a change in + the official documentation. + + =head1 SYNOPSIS + + use MARC::Lint::CodeData; + + #Should provide access to the following: + #%MARC::Lint::CodeData::GeogAreaCodes; + #%MARC::Lint::CodeData::ObsoleteGeogAreaCodes; + #%MARC::Lint::CodeData::LanguageCodes; + #%MARC::Lint::CodeData::ObsoleteLanguageCodes; + #%MARC::Lint::CodeData::CountryCodes; + #%MARC::Lint::CodeData::ObsoleteCountryCodes; + #%MARC::Lint::CodeData::Sources600_651; + #%MARC::Lint::CodeData::ObsoleteSources600_651; + #%MARC::Lint::CodeData::Sources655; + #%MARC::Lint::CodeData::ObsoleteSources655; + + + #or, import specific code list data + use MARC::Lint::CodeData qw(%GeogAreaCodes); + + my $gac = "n-us---"; + my $validgac = 1 if ($GeogAreaCodes{$gac}); + print "Geographic Area Code $gac is valid\n" if $validgac; + + + =head1 EXPORT + + None by default. + @EXPORT_OK: %GeogAreaCodes, %ObsoleteGeogAreaCodes, %LanguageCodes, %ObsoleteLanguageCodes, %CountryCodes, %ObsoleteCountryCodes, %Sources600_651, %ObsoleteSources600_651, %Sources655, %ObsoleteSources655. + + =head1 TO DO + + Update codes as needed (see L). + + Add other codes for MARC Code Lists for Relators, Sources, Description Conventions. + + Determine what to do about 600-655 codes with indicators (cash, lcsh, lcshac, + mesh, nal, and rvm). Currently, these are duplicated in valid and obsolete + hashes. Validation routines should probably treat these differently due to large + numbers of records using these codes, created before the indicators were + allowed. + + Determine whether three blank spaces should be in the LanguageCodes (for 008 validation) or not. + If it is here, then 041 would be allowed to have three blank spaces as a valid code + (though other checks would report the error--spaces at the beginning and ending of a subfield + and multiple spaces in a field where such a thing is not allowed). + + =head2 SEE ALSO + + L + + L (for check_040, check_041, check_043 using these codes) + + L (for 008 validation using these codes) + + L for the official code lists. + + The following (should be included in the distribution package for this package): + countrycodelistclean.pl + gaccleanupscript.pl + languagecodelistclean.pl + The scripts above take the MARC code list ASCII version as input. + They output tab-separated codes for updating the data below. + + =head1 VERSION HISTORY + + +Version 1.28: Updated May 2, 2009. + + + + -Added new sources codes from Technical Notice of Oct. 10, 2008. + + -Added new sources codes from Technical Notice of Dec. 16, 2008. + + -Added new language codes from Technical Notice of Jan. 6, 2009 (mol moved to ObsoleteLanguageCodes). + + -Added new sources codes from Technical Notice of Jan. 23, 2009. + + -Added new sources codes from Technical Notice of Feb. 19, 2009. + + -Added new sources codes from Technical Notice of Apr. 22, 2009. + + + + + +Version 1.27: Updated Aug. 14, 2008. + + + + -Added new sources codes from Technical Notice of July 25, 2008. + + + +Version 1.26: Updated July 6, 2008. + + + + -Added new language codes from Technical Notice of July 1, 2008. + + -Moved obsolete language codes 'scc' and 'scr' to the obsolete language hash. + + + +Version 1.25: Updated Apr. 28, 2008. + + + + -Added new sources codes from Technical Notice of Apr. 25, 2008. + + + +Version 1.24: Updated Mar. 30, 2008. + + + + -Added new sources codes from Technical Notice of Mar. 28, 2008. + + + +Version 1.23: Updated Mar. 26, 2008. + + + + -Added new country and GAC codes from Technical Notice of Mar. 25, 2008. + + + +Version 1.22: Updated Jan. 21, 2008. + + + + -Added new sources codes from Technical Notice of Jan. 18, 2008. + + + +Version 1.21: Updated Nov. 30, 2007. + + + + -Added new sources codes from Technical Notice of Nov. 30, 2007. + + + +Version 1.20: Updated Nov. 19, 2007. + + + + -Added new language codes from Technical Notice of Nov. 16, 2007. + + + +Version 1.19: Updated Oct. 22, 2007. + + + + -Added new language codes from Technical Notice of Oct. 22, 2007. + + + Version 1.18: Updated Aug. 14, 2007. + + -Added new source codes from Technical Notice of Aug. 13, 2007. + + Version 1.17: Updated July 16, 2007. + + -Added new source codes from Technical Notice of July 13, 2007. + + Version 1.16: Updated Apr. 18, 2007. + + -Added new source codes from Technical Notice of Apr. 5, 2007. + + Version 1.15: Updated Feb. 28, 2007. + + -Added new country and geographic codes from Technical Notice of Feb. 28, 2007. + -Added 'yu ' to list of obsolete codes. + + Version 1.14: Updated Jan. 8, 2007. + + -Added new source codes from Technical Notice of Jan. 5, 2007. + + Version 1.13: Updated Nov. 19, 2006. + + -Added new source codes from Technical Notice of Nov. 14, 2006. + + Version 1.12: Updated Oct. 20, 2006. + + -Added new source code from Technical Notice of Oct. 19, 2006. + + Version 1.11: Updated Oct. 18, 2006. + + -Added new source codes from Technical Notice of Oct. 17, 2006. + + Version 1.10: Updated Aug. 30, 2006. + + -Added new source codes from Technical Notice of Aug. 29, 2006. + + Version 1.09: Updated June 26, 2006. + + -Added new source codes from Technical Notice of June 23, 2006. + + Version 1.08: Updated May 30, 2006. + + -Added new source codes from Technical Notice of May 26, 2006. + + Version 1.07: Updated Mar. 13, 2006. + + -Added new source codes from Technical Notice of Mar. 10, 2006. + + Version 1.06: Updated Feb. 23, 2006. + + -Added new language codes from Technical Notice of Feb 23, 2006. + -Alphabetized language codes. + + Version 1.05: Updated Jan. 11, 2006. + + -Added new sources codes from Technical Notice of Jan. 10, 2006. + + Version 1.04: Updated Oct. 13, 2005. + + -Added new sources codes from Technical Notice of Oct. 12, 2005. + + Version 1.03: Updated Aug. 31, 2005. + + -Added new language codes for Ainu and Southern Altai (August 30, 2005 technical notice) + + 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. + + Version 1.01: Updated Jan. 5-Feb. 10, 2005. Released (to CPAN) Feb. 13, 2005 (with new version of MARC::Errorchecks). + + -Added code list data for 600-651 subfield 2 and for 655 subfield 2 sources. + -Updated codes based on changes made Jan. 19 (languages), Feb. 2 (sources), Feb. 9 (sources). + + Version 1.00 (original version): First release, Dec. 5, 2004. Uploaded to SourceForge CVS, Jan. 3, 2005. + -Included in MARC::Errorchecks distribution on CPAN. + -Used by MARC::Lintadditions. + + =cut + + #fill the valid Geographic Area Codes hash -%GeogAreaCodes = map {($_, 1)} (split "\t", ("a-af--- f------ fc----- fe----- fq----- ff----- fh----- fs----- fb----- fw----- n-us-al n-us-ak e-aa--- n-cn-ab f-ae--- ea----- sa----- poas--- aa----- sn----- e-an--- f-ao--- nwxa--- a-cc-an t------ nwaq--- nwla--- n-usa-- ma----- ar----- au----- r------ s-ag--- n-us-az n-us-ar a-ai--- nwaw--- lsai--- u-ac--- a------ ac----- as----- l------ fa----- u------ u-at--- u-at-ac e-au--- a-aj--- lnaz--- nwbf--- a-ba--- ed----- eb----- a-bg--- nwbb--- a-cc-pe e-bw--- e-be--- ncbh--- el----- ab----- f-dm--- lnbm--- a-bt--- mb----- a-ccp-- s-bo--- nwbn--- a-bn--- e-bn--- f-bs--- lsbv--- s-bl--- n-cn-bc i-bi--- nwvb--- a-bx--- e-bu--- f-uv--- a-br--- f-bd--- n-us-ca a-cb--- f-cm--- n-cn--- nccz--- lnca--- lncv--- cc----- poci--- ak----- e-urk-- e-urr-- nwcj--- f-cx--- nc----- e-urc-- f-cd--- s-cl--- a-cc--- a-cc-cq i-xa--- i-xb--- q------ s-ck--- n-us-co b------ i-cq--- f-cf--- f-cg--- fg----- n-us-ct pocw--- u-cs--- nccr--- e-ci--- nwcu--- nwco--- a-cy--- e-xr--- e-cs--- f-iv--- eo----- zd----- n-us-de e-dk--- dd----- d------ f-ft--- nwdq--- nwdr--- x------ n-usr-- ae----- an----- a-em--- poea--- xa----- s-ec--- f-ua--- nces--- e-uk-en f-eg--- f-ea--- e-er--- f-et--- me----- e------ ec----- ee----- en----- es----- ew----- lsfk--- lnfa--- pofj--- e-fi--- n-us-fl e-fr--- h------ s-fg--- pofp--- a-cc-fu f-go--- pogg--- f-gm--- a-cc-ka awgz--- n-us-ga a-gs--- e-gx--- e-ge--- e-gw--- f-gh--- e-gi--- e-uk--- e-uk-ui nl----- np----- fr----- e-gr--- n-gl--- nwgd--- nwgp--- pogu--- a-cc-kn a-cc-kc ncgt--- f-gv--- f-pg--- a-cc-kw s-gy--- a-cc-ha nwht--- n-us-hi i-hm--- a-cc-hp a-cc-he a-cc-ho ah----- nwhi--- ncho--- a-cc-hk a-cc-hh n-cnh-- a-cc-hu e-hu--- e-ic--- n-us-id n-us-il a-ii--- i------ n-us-in ai----- a-io--- a-cc-im m------ c------ n-us-ia a-ir--- a-iq--- e-ie--- a-is--- e-it--- nwjm--- lnjn--- a-ja--- a-cc-ku a-cc-ki a-cc-kr poji--- a-jo--- zju---- n-us-ks a-kz--- n-us-ky f-ke--- poki--- pokb--- a-kr--- a-kn--- a-ko--- a-cck-- a-ku--- a-kg--- a-ls--- cl----- e-lv--- a-le--- nwli--- f-lo--- a-cc-lp f-lb--- f-ly--- e-lh--- poln--- e-li--- n-us-la e-lu--- a-cc-mh e-xn--- f-mg--- lnma--- n-us-me f-mw--- am----- a-my--- i-xc--- f-ml--- e-mm--- n-cn-mb poxd--- n-cnm-- zma---- poxe--- nwmq--- n-us-md n-us-ma f-mu--- i-mf--- i-my--- mm----- ag----- pome--- zme---- n-mx--- nm----- n-us-mi pott--- pomi--- n-usl-- aw----- n-usc-- poxf--- n-us-mn n-us-ms n-usm-- n-us-mo n-uss-- e-mv--- e-mc--- a-mp--- n-us-mt nwmj--- zmo---- f-mr--- f-mz--- f-sx--- ponu--- n-us-nb a-np--- zne---- e-ne--- nwna--- n-us-nv n-cn-nk ponl--- n-usn-- a-nw--- n-us-nh n-us-nj n-us-nm u-at-ne n-us-ny u-nz--- n-cn-nf ncnq--- f-ng--- fi----- f-nr--- fl----- a-cc-nn poxh--- n------ ln----- n-us-nc n-us-nd pn----- n-use-- xb----- e-uk-ni u-at-no n-cn-nt e-no--- n-cn-ns n-cn-nu po----- n-us-oh n-uso-- n-us-ok a-mk--- n-cn-on n-us-or zo----- p------ a-pk--- popl--- ncpn--- a-pp--- aopf--- s-py--- n-us-pa ap----- s-pe--- a-ph--- popc--- zpl---- e-pl--- pops--- e-po--- n-cnp-- n-cn-pi nwpr--- ep----- a-qa--- a-cc-ts u-at-qn n-cn-qu mr----- er----- n-us-ri sp----- nr----- e-rm--- e-ru--- e-ur--- e-urf-- f-rw--- i-re--- nwsd--- fd----- nweu--- lsxj--- nwxi--- nwxk--- nwst--- n-xl--- nwxm--- pows--- posh--- e-sm--- f-sf--- n-cn-sn zsa---- a-su--- ev----- e-uk-st f-sg--- i-se--- a-cc-ss a-cc-sp a-cc-sm a-cc-sh e-urs-- e-ure-- e-urw-- a-cc-sz f-sl--- a-si--- e-xo--- e-xv--- i-xo--- zs----- pobp--- f-so--- f-sa--- s------ az----- ls----- u-at-sa n-us-sc ao----- n-us-sd lsxs--- ps----- xc----- n-usu-- n-ust-- e-urn-- e-sp--- f-sh--- aoxp--- a-ce--- f-sj--- fn----- fu----- zsu---- s-sr--- lnsb--- nwsv--- f-sq--- e-sw--- e-sz--- a-sy--- a-ch--- a-ta--- f-tz--- u-at-tm n-us-tn i-fs--- n-us-tx a-th--- af----- a-cc-tn a-cc-ti at----- f-tg--- potl--- poto--- nwtr--- lstd--- w------ f-ti--- a-tu--- a-tk--- nwtc--- potv--- f-ug--- e-un--- a-ts--- n-us--- nwuc--- poup--- e-uru-- zur---- s-uy--- n-us-ut a-uz--- ponn--- e-vc--- s-ve--- zve---- n-us-vt u-at-vi a-vt--- nwvi--- n-us-va e-urp-- fv----- powk--- e-uk-wl powf--- n-us-dc n-us-wa n-usp-- awba--- nw----- n-us-wv u-at-we xd----- f-ss--- nwwi--- n-us-wi n-us-wy a-ccs-- a-cc-su a-ccg-- a-ccy-- ay----- a-ye--- e-yu--- n-cn-yk a-cc-yu fz----- f-za--- a-cc-ch f-rh--- u-atc-- u-ate-- u-atn-- e-rb--- e-mo---")); + + +%GeogAreaCodes = map {($_, 1)} (split "\t", ("a-af--- f------ fc----- fe----- fq----- ff----- fh----- fs----- fb----- fw----- n-us-al n-us-ak e-aa--- n-cn-ab f-ae--- ea----- sa----- poas--- aa----- sn----- e-an--- f-ao--- nwxa--- a-cc-an t------ nwaq--- nwla--- n-usa-- ma----- ar----- au----- r------ s-ag--- n-us-az n-us-ar a-ai--- nwaw--- lsai--- u-ac--- a------ ac----- as----- l------ fa----- u------ u-at--- u-at-ac e-au--- a-aj--- lnaz--- nwbf--- a-ba--- ed----- eb----- a-bg--- nwbb--- a-cc-pe e-bw--- e-be--- ncbh--- el----- ab----- f-dm--- lnbm--- a-bt--- mb----- a-ccp-- s-bo--- nwbn--- a-bn--- e-bn--- f-bs--- lsbv--- s-bl--- n-cn-bc i-bi--- nwvb--- a-bx--- e-bu--- f-uv--- a-br--- f-bd--- n-us-ca a-cb--- f-cm--- n-cn--- nccz--- lnca--- lncv--- cc----- poci--- ak----- e-urk-- e-urr-- nwcj--- f-cx--- nc----- e-urc-- f-cd--- s-cl--- a-cc--- a-cc-cq i-xa--- i-xb--- q------ s-ck--- n-us-co b------ i-cq--- f-cf--- f-cg--- fg----- n-us-ct pocw--- u-cs--- nccr--- e-ci--- nwcu--- nwco--- a-cy--- e-xr--- e-cs--- f-iv--- eo----- zd----- n-us-de e-dk--- dd----- d------ f-ft--- nwdq--- nwdr--- x------ n-usr-- ae----- an----- a-em--- poea--- xa----- s-ec--- f-ua--- nces--- e-uk-en f-eg--- f-ea--- e-er--- f-et--- me----- e------ ec----- ee----- en----- es----- ew----- lsfk--- lnfa--- pofj--- e-fi--- n-us-fl e-fr--- h------ s-fg--- pofp--- a-cc-fu f-go--- pogg--- f-gm--- a-cc-ka awgz--- n-us-ga a-gs--- e-gx--- e-ge--- e-gw--- f-gh--- e-gi--- e-uk--- e-uk-ui nl----- np----- fr----- e-gr--- n-gl--- nwgd--- nwgp--- pogu--- a-cc-kn a-cc-kc ncgt--- f-gv--- f-pg--- a-cc-kw s-gy--- a-cc-ha nwht--- n-us-hi i-hm--- a-cc-hp a-cc-he a-cc-ho ah----- nwhi--- ncho--- a-cc-hk a-cc-hh n-cnh-- a-cc-hu e-hu--- e-ic--- n-us-id n-us-il a-ii--- i------ n-us-in ai----- a-io--- a-cc-im m------ c------ n-us-ia a-ir--- a-iq--- e-ie--- a-is--- e-it--- nwjm--- lnjn--- a-ja--- a-cc-ku a-cc-ki a-cc-kr poji--- a-jo--- zju---- n-us-ks a-kz--- n-us-ky f-ke--- poki--- pokb--- a-kr--- a-kn--- a-ko--- a-cck-- a-ku--- a-kg--- a-ls--- cl----- e-lv--- a-le--- nwli--- f-lo--- a-cc-lp f-lb--- f-ly--- e-lh--- poln--- e-li--- n-us-la e-lu--- a-cc-mh e-xn--- f-mg--- lnma--- n-us-me f-mw--- am----- a-my--- i-xc--- f-ml--- e-mm--- n-cn-mb poxd--- n-cnm-- zma---- poxe--- nwmq--- n-us-md n-us-ma f-mu--- i-mf--- i-my--- mm----- ag----- pome--- zme---- n-mx--- nm----- n-us-mi pott--- pomi--- n-usl-- aw----- n-usc-- poxf--- n-us-mn n-us-ms n-usm-- n-us-mo n-uss-- e-mv--- e-mc--- a-mp--- n-us-mt nwmj--- zmo---- f-mr--- f-mz--- f-sx--- ponu--- n-us-nb a-np--- zne---- e-ne--- nwna--- n-us-nv n-cn-nk ponl--- n-usn-- a-nw--- n-us-nh n-us-nj n-us-nm u-at-ne n-us-ny u-nz--- n-cn-nf ncnq--- f-ng--- fi----- f-nr--- fl----- a-cc-nn poxh--- n------ ln----- n-us-nc n-us-nd pn----- n-use-- xb----- e-uk-ni u-at-no n-cn-nt e-no--- n-cn-ns n-cn-nu po----- n-us-oh n-uso-- n-us-ok a-mk--- n-cn-on n-us-or zo----- p------ a-pk--- popl--- ncpn--- a-pp--- aopf--- s-py--- n-us-pa ap----- s-pe--- a-ph--- popc--- zpl---- e-pl--- pops--- e-po--- n-cnp-- n-cn-pi nwpr--- ep----- a-qa--- a-cc-ts u-at-qn n-cn-qu mr----- er----- n-us-ri sp----- nr----- e-rm--- e-ru--- e-ur--- e-urf-- f-rw--- i-re--- nwsd--- fd----- nweu--- lsxj--- nwxi--- nwxk--- nwst--- n-xl--- nwxm--- pows--- posh--- e-sm--- f-sf--- n-cn-sn zsa---- a-su--- ev----- e-uk-st f-sg--- i-se--- a-cc-ss a-cc-sp a-cc-sm a-cc-sh e-urs-- e-ure-- e-urw-- a-cc-sz f-sl--- a-si--- e-xo--- e-xv--- i-xo--- zs----- pobp--- f-so--- f-sa--- s------ az----- ls----- u-at-sa n-us-sc ao----- n-us-sd lsxs--- ps----- xc----- n-usu-- n-ust-- e-urn-- e-sp--- f-sh--- aoxp--- a-ce--- f-sj--- fn----- fu----- zsu---- s-sr--- lnsb--- nwsv--- f-sq--- e-sw--- e-sz--- a-sy--- a-ch--- a-ta--- f-tz--- u-at-tm n-us-tn i-fs--- n-us-tx a-th--- af----- a-cc-tn a-cc-ti at----- f-tg--- potl--- poto--- nwtr--- lstd--- w------ f-ti--- a-tu--- a-tk--- nwtc--- potv--- f-ug--- e-un--- a-ts--- n-us--- nwuc--- poup--- e-uru-- zur---- s-uy--- n-us-ut a-uz--- ponn--- e-vc--- s-ve--- zve---- n-us-vt u-at-vi a-vt--- nwvi--- n-us-va e-urp-- fv----- powk--- e-uk-wl powf--- n-us-dc n-us-wa n-usp-- awba--- nw----- n-us-wv u-at-we xd----- f-ss--- nwwi--- n-us-wi n-us-wy a-ccs-- a-cc-su a-ccg-- a-ccy-- ay----- a-ye--- e-yu--- n-cn-yk a-cc-yu fz----- f-za--- a-cc-ch f-rh--- u-atc-- u-ate-- u-atn-- e-rb--- e-mo--- e-kv---")); + + #fill the obsolete Geographic Area Codes hash + + %ObsoleteGeogAreaCodes = map {($_, 1)} (split "\t", ("t-ay--- e-ur-ai e-ur-aj nwbc--- e-ur-bw f-by--- pocp--- e-url-- cr----- v------ e-ur-er et----- e-ur-gs pogn--- nwga--- nwgs--- a-hk--- ei----- f-if--- awiy--- awiw--- awiu--- e-ur-kz e-ur-kg e-ur-lv e-ur-li a-mh--- cm----- e-ur-mv n-usw-- a-ok--- a-pt--- e-ur-ru pory--- nwsb--- posc--- a-sk--- posn--- e-uro-- e-ur-ta e-ur-tk e-ur-un e-ur-uz a-vn--- a-vs--- nwvr--- e-urv-- a-ys---")); + + #fill the valid Language Codes hash -%LanguageCodes = map {($_, 1)} (split "\t", (" aar abk ace ach ada ady afa afh afr ain aka akk alb ale alg alt amh ang anp apa ara arc arg arm arn arp art arw asm ast ath aus ava ave awa aym aze bad bai bak bal bam ban baq bas bat bej bel bem ben ber bho bih bik bin bis bla bnt bos bra bre btk bua bug bul bur byn cad cai car cat cau ceb cel cha chb che chg chi chk chm chn cho chp chr chu chv chy cmc cop cor cos cpe cpf cpp cre crh crp csb cus cze dak dan dar day del den dgr din div doi dra dsb dua dum dut dyu dzo efi egy eka elx eng enm epo est ewe ewo fan fao fat fij fil fin fiu fon fre frm fro frr frs fry ful fur gaa gay gba gem geo ger gez gil gla gle glg glv gmh goh gon gor got grb grc gre grn gsw guj gwi hai hat hau haw heb her hil him hin hit hmn hmo hsb hun hup iba ibo ice ido iii ijo iku ile ilo ina inc ind ine inh ipk ira iro ita jav jbo jpn jpr jrb kaa kab kac kal kam kan kar kas kau kaw kaz kbd kha khi khm kho kik kin kir kmb kok kom kon kor kos kpe krc krl kro kru kua kum kur kut lad lah lam lao lat lav lez lim lin lit lol loz ltz lua lub lug lui lun luo lus mac mad mag mah mai mak mal man mao map mar mas may mdf mdr men mga mic min mis mkh mlg mlt mnc mni mno moh mol mon mos mul mun mus mwl mwr myn myv nah nai nap nau nav nbl nde ndo nds nep new nia nic niu nno nob nog non nor nqo nso nub nwc nya nym nyn nyo nzi oci oji ori orm osa oss ota oto paa pag pal pam pan pap pau peo per phi phn pli pol pon por pra pro pus que raj rap rar roa roh rom rum run rus sad sag sah sai sal sam san sas sat scc scn sco scr sel sem sga sgn shn sid sin sio sit sla slo slv sma sme smi smj smn smo sms sna snd snk sog som son sot spa srd srn srr ssa ssw suk sun sus sux swa swe syr tah tai tam tat tel tem ter tet tgk tgl tha tib tig tir tiv tkl tlh tli tmh tog ton tpi tsi tsn tso tuk tum tup tur tut tvl twi tyv udm uga uig ukr umb und urd uzb vai ven vie vol vot wak wal war was wel wen wln wol xal xho yao yap yid yor ypk zap zen zha znd zul zun zxx zza")); + + +%LanguageCodes = map {($_, 1)} (split "\t", (" aar abk ace ach ada ady afa afh afr ain aka akk alb ale alg alt amh ang anp apa ara arc arg arm arn arp art arw asm ast ath aus ava ave awa aym aze bad bai bak bal bam ban baq bas bat bej bel bem ben ber bho bih bik bin bis bla bnt bos bra bre btk bua bug bul bur byn cad cai car cat cau ceb cel cha chb che chg chi chk chm chn cho chp chr chu chv chy cmc cop cor cos cpe cpf cpp cre crh crp csb cus cze dak dan dar day del den dgr din div doi dra dsb dua dum dut dyu dzo efi egy eka elx eng enm epo est ewe ewo fan fao fat fij fil fin fiu fon fre frm fro frr frs fry ful fur gaa gay gba gem geo ger gez gil gla gle glg glv gmh goh gon gor got grb grc gre grn gsw guj gwi hai hat hau haw heb her hil him hin hit hmn hmo hrv hsb hun hup iba ibo ice ido iii ijo iku ile ilo ina inc ind ine inh ipk ira iro ita jav jbo jpn jpr jrb kaa kab kac kal kam kan kar kas kau kaw kaz kbd kha khi khm kho kik kin kir kmb kok kom kon kor kos kpe krc krl kro kru kua kum kur kut lad lah lam lao lat lav lez lim lin lit lol loz ltz lua lub lug lui lun luo lus mac mad mag mah mai mak mal man mao map mar mas may mdf mdr men mga mic min mis mkh mlg mlt mnc mni mno moh mon mos mul mun mus mwl mwr myn myv nah nai nap nau nav nbl nde ndo nds nep new nia nic niu nno nob nog non nor nqo nso nub nwc nya nym nyn nyo nzi oci oji ori orm osa oss ota oto paa pag pal pam pan pap pau peo per phi phn pli pol pon por pra pro pus que raj rap rar roa roh rom rum run rup rus sad sag sah sai sal sam san sas sat scn sco sel sem sga sgn shn sid sin sio sit sla slo slv sma sme smi smj smn smo sms sna snd snk sog som son sot spa srd srn srp srr ssa ssw suk sun sus sux swa swe syc syr tah tai tam tat tel tem ter tet tgk tgl tha tib tig tir tiv tkl tlh tli tmh tog ton tpi tsi tsn tso tuk tum tup tur tut tvl twi tyv udm uga uig ukr umb und urd uzb vai ven vie vol vot wak wal war was wel wen wln wol xal xho yao yap yid yor ypk zap zbl zen zha znd zul zun zxx zza")); + + #fill the obsolete Language Codes hash -%ObsoleteLanguageCodes = map {($_, 1)} (split "\t", ("ajm esk esp eth far fri gag gua int iri cam kus mla max lan gal lap sao gae sho snh sso swz tag taj tar tru tsw")); + + +%ObsoleteLanguageCodes = map {($_, 1)} (split "\t", ("ajm esk esp eth far fri gag gua int iri cam kus mla max mol lan gal lap sao gae scc scr sho snh sso swz tag taj tar tru tsw")); + + #fill the valid Country Codes hash -%CountryCodes = map {($_, 1)} (split "\t", ("aca af alu aku aa abc ae as an ao am ay aq ag azu aru ai aw at au aj bf ba bg bb bw be bh dm bm bt bo bn bs bv bl bcc bi vb bx bu uv br bd cau cb cm xxc cv cj cx cd cl cc ch xa xb ck cou cq cf cg ctu cw cr ci cu cy xr iv deu dk dcu ft dq dr em ec ua es enk eg ea er et fk fa fj fi flu fr fg fp go gm gz gau gs gw gh gi gr gl gd gp gu gt gv pg gy ht hiu hm ho hu ic idu ilu ii inu io iau ir iq iy ie is it jm ja ji jo ksu kz kyu ke gb kn ko ku kg ls lv le lo lb ly lh li lau lu xn mg meu mw my xc ml mm mbc xe mq mdu mau mu mf ot mx miu fm xf mnu msu mou mv mc mp mtu mj mr mz sx nu nbu np ne na nvu nkc nl nhu nju nmu nyu nz nfc nq ng nr xh xx nx ncu ndu nik nw ntc no nsc nuc ohu oku mk onc oru pk pw pn pp pf py pau pe ph pc pl po pic pr qa qea quc riu rm ru rw re xj xd xk xl xm ws sm sf snc su stk sg rb mo se sl si xo xv bp so sa scu sdu xs sp sh xp ce sj sr sq sw sz sy ta tz tnu fs txu th tg tl tma to tr ti tu tk tc tv ug un ts xxk uik xxu uc up uy utu uz nn vp vc ve vtu vm vi vau vra wea wk wlk wf wau wj wvu ss wiu wyu xga xna xoa xra ye ykc za rh ")); + + +%CountryCodes = map {($_, 1)} (split "\t", ("aca af alu aku aa abc ae as an ao am ay aq ag azu aru ai aw at au aj bf ba bg bb bw be bh dm bm bt bo bn bs bv bl bcc bi vb bx bu uv br bd cau cb cm xxc cv cj cx cd cl cc ch xa xb ck cou cq cf cg ctu cw cr ci cu cy xr iv deu dk dcu ft dq dr em ec ua es enk eg ea er et fk fa fj fi flu fr fg fp go gm gz gau gs gw gh gi gr gl gd gp gu gt gv pg gy ht hiu hm ho hu ic idu ilu ii inu io iau ir iq iy ie is it jm ja ji jo ksu kv kz kyu ke gb kn ko ku kg ls lv le lo lb ly lh li lau lu xn mg meu mw my xc ml mm mbc xe mq mdu mau mu mf ot mx miu fm xf mnu msu mou mv mc mp mtu mj mr mz sx nu nbu np ne na nvu nkc nl nhu nju nmu nyu nz nfc nq ng nr xh xx nx ncu ndu nik nw ntc no nsc nuc ohu oku mk onc oru pk pw pn pp pf py pau pe ph pc pl po pic pr qa qea quc riu rm ru rw re xj xd xk xl xm ws sm sf snc su stk sg rb mo se sl si xo xv bp so sa scu sdu xs sp sh xp ce sj sr sq sw sz sy ta tz tnu fs txu th tg tl tma to tr ti tu tk tc tv ug un ts xxk uik xxu uc up uy utu uz nn vp vc ve vtu vm vi vau vra wea wk wlk wf wau wj wvu ss wiu wyu xga xna xoa xra ye ykc za rh ")); + + #fill the obsolete Country Codes hash + + %ObsoleteCountryCodes = map {($_, 1)} (split "\t", ("ai air ac ajr bwr cn cz cp ln cs err gsr ge gn hk iw iu jn kzr kgr lvr lir mh mvr nm pt rur ry xi sk xxr sb sv tar tt tkr unr uk ui us uzr vn vs wb ys yu ")); -%Sources600_651 = map {($_, 1)} (split "\t", ("aass aat abne agrifors agrovoc agrovocf agrovocs aktp albt allars amg apaist asft asth atla aucsh barn bella bet bgtchm bhammf bhashe bibalex biccbmc bicssc bidex blmlsh bt cabt cash cct ccte cctf ceeus cht ciesiniv cilla conorsi csahssa csalsct csapa csh csht cstud czenas dacs dcs ddcrit dissao dit drama dtict ebfem eclas eks ericd est fast fgtpcm finmesh fire fmesh fnhl francis galestne gem georeft gst gtt hapi hkcan helecon henn hlasstg hoidokki huc iaat ica icpsr idas iescs iest ilot ilpt inist inspect ipat ipsp isis itglit itoamc itrt jhpb jhpk jlabsh kaa kao kaunokki kdm kitu kkts kssbar kta ktpt ktta kula kupu lacnaf larpcal lcsh lcshac lcstt lctgm lemac lemb liv lnmmbr local ltcsh lua maaq mar masa mesh mipfesd mmm mpirdes mtirdes musa muzeukc muzeukn muzeukv nal nalnaf nasat ncjt ndllsh nicem nimacsc nlgaf nlgkk nlgsh nlmnaf ntcpsc ntcsd ntissc nznb ogst onet opms pascal peri pha pmbok pmcsg poliscit popinte precis prvt psychit qrma qrmak qtglit raam ram rasuqam renib reo rero rerovoc reveal rma rpe rswk rugeo rurkp rvm sao sbiao scgdst scisshl scot sears sfit sgc sgce shbe she sigle sipri sk slem smda snt socio sosa spines swd swemesh taika taxhs tbit tesa test tgn tho thub tlka tlsh toit trt trtsa tsht ttka ulan umitrist unbisn unbist unescot usaidt vmj waqaf watrest wgst wot wpicsh ysa")); + + +%Sources600_651 = map {($_, 1)} (split "\t", ("aass aat abne afset agrifors agrovoc agrovocf agrovocs aiatsisl aiatsisp aiatsiss aktp albt allars amg apaist asft asrcrfcd asrcseo asrctoa asth atla aucsh barn bella bet bgtchm bhammf bhashe bibalex biccbmc bicssc bidex bisacsh bisacmt bisacrt blmlsh bt cabt cash cct ccte cctf ceeus chirosh cht ciesiniv cilla conorsi csahssa csalsct csapa csh csht cstud czenas dacs dcs ddcrit dissao dit drama dtict ebfem eclas eet eflch eks embne ept ericd est eurovocen eurovocsl fast fgtpcm finmesh fire fmesh fnhl francis galestne gem georeft gst gtt hapi hkcan helecon henn hlasstg hoidokki huc iaat ica icpsr idas iescs iest ilot ilpt inist inspect ipat ipsp isis itglit itoamc itrt jhpb jhpk jlabsh kaa kao kaunokki kdm kitu kkts kssbar kta ktpt ktta kula kupu lacnaf larpcal lcsh lcshac lcstt lctgm lemac lemb liv lnmmbr local ltcsh lua maaq mar masa mech mesh mipfesd mmm mpirdes msh mtirdes musa muzeukc muzeukn muzeukv muzvukci nal nalnaf nasat ncjt ndllsh nicem nimacsc nlgaf nlgkk nlgsh nlmnaf nsbncf ntcpsc ntcsd ntissc nzggn nznb ogst onet opms pascal peri pha pkk pmbok pmcsg pmt poliscit popinte precis prvt psychit quiding qlsp qrma qrmak qtglit raam ram rasuqam renib reo rero rerovoc reveal rma rpe rswk rswkaf rugeo rurkp rvm sao sbiao scbi scgdst scisshl scot sears sfit sgc sgce shbe she sigle sipri sk skon slem smda snt socio sosa spines ssg swd swemesh taika taxhs tbit tesa test tgn tho thub tlka tlsh toit trt trtsa tsht ttka tucua ulan umitrist unbisn unbist unescot usaidt vmj waqaf watrest wgst wot wpicsh ysa")); + + #The codes cash, lcsh, lcshac, mesh, nal, and rvm are covered by 2nd indicators in 600-655 + #they are only used when indicators are not available + %ObsoleteSources600_651 = map {($_, 1)} (split "\t", ("cash lcsh lcshac mesh nal reroa rvm")); -%Sources655 = map {($_, 1)} (split "\t", ("aat aktp amg asth aucsh barn bibalex biccbmc bgtchm bt cash cct conorsi csht czenas dacs dcs dct ericd estc fast fbg finmesh fire galestne gem gmgpc gsafd gst gtlm hapi hkcan hoidokki ica ilot itglit itrt jhpb jhpk kkts lacnaf lcsh lcshac lcstt lctgm lemac local maaq mar marcgt mesh migfg mim muzeukc muzeukn muzeukv nal nalnaf ngl nimafc nlgaf nlgkk nlgsh nlmnaf nmc nznb onet opms pmcsg qrmak qtglit raam radfg rbbin rbgenr rbpap rbpri rbprov rbpub rbtyp reo rerovoc reveal rma rugeo rvm sao sears sgc sgce sgp sipri snt socio spines swemesh tbit tesa tho thub toit tsht ulan vmj waqaf")); + + +%Sources655 = map {($_, 1)} (split "\t", ("aat afset aiatsisl aiatsisp aiatsiss aktp amg asrcrfcd asrcseo asrctoa asth aucsh barn bibalex biccbmc bgtchm bisacsh bisacmt bisacrt bt cash chirosh cct conorsi csht czenas dacs dcs dct eet eflch embne ept ericd estc eurovocen eurovocsl fast fbg finmesh fire galestne gem gmgpc gsafd gst gtlm hapi hkcan hoidokki ica ilot itglit itrt jhpb jhpk kkts lacnaf lcsh lcshac lcstt lctgm lemac local maaq mar marcgt mech mesh migfg mim msh muzeukc muzeukn muzeukv muzvukci nal nalnaf ngl nimafc nlgaf nlgkk nlgsh nlmnaf nmc nsbncf nzggn nznb onet opms pkk pmcsg pmt quiding qlsp qrmak qtglit raam radfg rbbin rbgenr rbpap rbpri rbprov rbpub rbtyp reo rerovoc reveal rma rswk rswkaf rugeo rvm sao scbi sears sgc sgce sgp sipri skon snt socio spines ssg swd swemesh tbit tesa tho thub toit tsht tucua ulan vmj waqaf")); + + #The codes cash, lcsh, lcshac, mesh, nal, and rvm are covered by 2nd indicators in 600-655 + #they are only used when indicators are not available + %ObsoleteSources655 = map {($_, 1)} (split "\t", ("cash ftamc lcsh lcshac mesh nal reroa rvm")); + + 1; + + =head1 LICENSE + + This code may be distributed under the same terms as Perl itself. + + Please note that this module is not a product of or supported by the + employers of the various contributors to the code. + + =head1 AUTHOR + + Bryan Baldus + eijabb@cpan.org -Copyright (c) 2004-2007. + + +Copyright (c) 2004-2008. + + =cut + + __END__ \ No newline at end of file diff -Nru /tmp/kNt17nZVRm/libmarc-lint-perl-1.43/lib/MARC/Lint.pm /tmp/3pAetPo1EE/libmarc-lint-perl-1.44/lib/MARC/Lint.pm --- libmarc-lint-perl-1.43/lib/MARC/Lint.pm 2007-10-03 20:45:04.000000000 +0100 +++ libmarc-lint-perl-1.44/lib/MARC/Lint.pm 2009-07-07 00:55:10.000000000 +0100 @@ -8,7 +8,7 @@ use MARC::Lint::CodeData qw(%GeogAreaCodes %ObsoleteGeogAreaCodes %LanguageCodes %ObsoleteLanguageCodes); -our $VERSION = 1.43; +our $VERSION = 1.44; =head1 NAME @@ -740,10 +740,12 @@ 'A-' => 1, 'A+' => 1, 'A is ' => 1, + 'A isn\'t ' => 1, 'A l\'' => 1, 'A la ' => 1, 'A posteriori' => 1, 'A priori' => 1, + 'A to ' => 1, 'El Nino' => 1, 'El Salvador' => 1, 'L-' => 1, @@ -870,6 +872,10 @@ This subfield is not officially allowed in MARC, since it is locally defined. Some way needs to be made to allow messages/warnings about this subfield to be turned off (or otherwise deal with records using/allowing locally defined subfield 9). +=item * 008 length and presence check + +Currently, 008 validation is not implemented in MARC::Lint, but is left to MARC::Errorchecks. It might be useful if MARC::Lint's basic validation checks included a verification that the 008 exists and is exactly 40 characters long. Additional 008-related checking and byte validation would remain in MARC::Errorchecks. + =item * ISBN and ISSN checking 020 and 022 fields are validated with the C and @@ -1054,6 +1060,7 @@ ind1 blank Undefined ind2 blank Undefined a R National bibliography number +z R Canceled/Invalid national bibliography number 2 NR Source 6 NR Linkage 8 R Field link and sequence number @@ -1073,6 +1080,7 @@ b NR Assigning agency d NR Date i NR Display text +z R Canceled/invalid copyright or legal deposit number 2 NR Source 6 NR Linkage 8 R Field link and sequence number @@ -1097,6 +1105,8 @@ ind1 b01 Level of international interest ind2 blank Undefined a NR International Standard Serial Number +l NR ISSN-L +m R Canceled ISSN-L y R Incorrect ISSN z R Canceled ISSN 2 NR Source @@ -1272,15 +1282,16 @@ 8 R Field link and sequence number 041 R LANGUAGE CODE -ind1 01 Translation indication +ind1 b01 Translation indication ind2 b7 Source of code a R Language code of text/sound track or separate title -b R Language code for summary, abstract or subtitles +b R Language code of summary or abstract d R Language code of sung or spoken text e R Language code of librettos f R Language code of table of contents g R Language code of accompanying material other than librettos h R Language code of original and/or intermediate translations of text +j R Language code of subtitles or captions 2 NR Source of code 6 NR Linkage 8 R Field link and sequence number @@ -1454,10 +1465,25 @@ ind2 b04 Source of classification number a R Classification number b NR Item number +m NR Standard or optional designation +q NR Assigning agency 2 NR Edition number 6 NR Linkage 8 R Field link and sequence number +083 R ADDITIONAL DEWEY DECIMAL CLASSIFICATION NUMBER +ind1 01 Type of edition +ind2 blank Undefined +a R Classification number +c R Classification number--Ending number of span +m NR Standard or optional designation +q NR Assigning agency +y R Table sequence number for internal subarrangement or add table +z R Table identification +2 NR Edition number +6 NR Linkage +8 R Field link and sequence number + 084 R OTHER CLASSIFICATION NUMBER ind1 blank Undefined ind2 blank Undefined @@ -1467,6 +1493,24 @@ 6 NR Linkage 8 R Field link and sequence number +085 R SYNTHESIZED CLASSIFICATION NUMBER COMPONENTS +ind1 blank Undefined +ind2 blank Undefined +a R Number where instructions are found-single number or beginning number of span +b R Base number +c R Classification number-ending number of span +f R Facet designator +r R Root number +s R Digits added from classification number in schedule or external table +t R Digits added from internal subarrangement or add table +u R Number being analyzed +v R Number in internal subarrangement or add table where instructions are found +w R Table identification-Internal subarrangement or add table +y R Table sequence number for internal subarrangement or add table +z R Table identification +6 NR Linkage +8 R Field link and sequence number + 086 R GOVERNMENT DOCUMENT CLASSIFICATION NUMBER ind1 b01 Number source ind2 blank Undefined @@ -1502,6 +1546,7 @@ q NR Fuller form of name t NR Title of a work u NR Affiliation +0 R Authority record control number 4 R Relator code 6 NR Linkage 8 R Field link and sequence number @@ -1522,6 +1567,7 @@ p R Name of part/section of a work t NR Title of a work u NR Affiliation +0 R Authority record control number 4 R Relator code 6 NR Linkage 8 R Field link and sequence number @@ -1543,6 +1589,7 @@ q NR Name of meeting following jurisdiction name entry element t NR Title of a work u NR Affiliation +0 R Authority record control number 4 R Relator code 6 NR Linkage 8 R Field link and sequence number @@ -1564,6 +1611,7 @@ r NR Key for music s NR Version t NR Title of a work +0 R Authority record control number 6 NR Linkage 8 R Field link and sequence number @@ -1600,6 +1648,7 @@ p R Name of part/section of a work r NR Key for music s NR Version +0 R Authority record control number 6 NR Linkage 8 R Field link and sequence number @@ -1959,6 +2008,29 @@ 6 NR Linkage 8 R Field link and sequence number +363 R NORMALIZED DATE AND SEQUENTIAL DESIGNATION +ind1 b01 Start/End designator +ind2 b01 State of issuanceUndefined +a NR First level of enumeration +b NR Second level of enumeration +c NR Third level of enumeration +d NR Fourth level of enumeration +e NR Fifth level of enumeration +f NR Sixth level of enumeration +g NR Alternative numbering scheme, first level of enumeration +h NR Alternative numbering scheme, second level of enumeration +i NR First level of chronology +j NR Second level of chronology +k NR Third level of chronology +l NR Fourth level of chronology +m NR Alternative numbering scheme, chronology +u NR First level textual designation +v NR First level of chronology, issuance +x R Nonpublic note +z R Public note +6 NR Linkage +8 NR Field link and sequence number + 365 R TRADE PRICE ind1 blank Undefined ind2 blank Undefined @@ -2061,7 +2133,7 @@ 6 NR Linkage 8 R Field link and sequence number -440 R SERIES STATEMENT/ADDED ENTRY--TITLE +440 R SERIES STATEMENT/ADDED ENTRY--TITLE [OBSOLETE] ind1 blank Undefined ind2 0-9 Nonfiling characters a NR Title @@ -2069,6 +2141,8 @@ p R Name of part/section of a work v NR Volume number/sequential designation x NR International Standard Serial Number +w R Bibliographic record control number +0 R Authority record control number 6 NR Linkage 8 R Field link and sequence number @@ -2079,6 +2153,7 @@ l NR Library of Congress call number v R Volume number/sequential designation x NR International Standard Serial Number +3 NR Materials specified 6 NR Linkage 8 R Field link and sequence number @@ -2103,6 +2178,11 @@ ind1 blank Undefined ind2 blank Undefined a NR Dissertation note +b NR Degree type +c NR Name of granting institution +d NR Year of degree granted +g R Miscellaneous information +o R Dissertation identifier 6 NR Linkage 8 R Field link and sequence number @@ -2225,11 +2305,13 @@ 8 R Field link and sequence number 520 R SUMMARY, ETC. -ind1 b01238 Display constant controller +ind1 b012348 Display constant controller ind2 blank Undefined a NR Summary, etc. note b NR Expansion of summary note +c NR Assigning agency u R Uniform Resource Identifier +2 NR Source 3 NR Materials specified 6 NR Linkage 8 R Field link and sequence number @@ -2304,6 +2386,7 @@ m R Dates and/or sequential designation of issues reproduced n R Note about reproduction 3 NR Materials specified +5 NR Institution to which field applies 6 NR Linkage 7 NR Fixed-length data elements of reproduction 8 R Field link and sequence number @@ -2320,6 +2403,7 @@ l NR Location of original m NR Material specific details n R Note about original +o R Other resource identifier p NR Introductory phrase t NR Title statement of original x R International Standard Serial Number @@ -2360,6 +2444,7 @@ i NR Display text u R Uniform Resource Identifier 3 NR Materials specified +5 NR Institution to which field applies 6 NR Linkage 8 R Field link and sequence number @@ -2393,6 +2478,32 @@ 6 NR Linkage 8 R Field link and sequence number +542 R INFORMATION RELATING TO COPYRIGHT STATUS +ind1 b01 Relationship +ind2 blank Undefined +a NR Personal creator +b NR Personal creator death date +c NR Corporate creator +d R Copyright holder +e R Copyright holder contact information +f R Copyright statement +g NR Copyright date +h R Copyright renewal date +i NR Publication date +j NR Creation date +k R Publisher +l NR Copyright status +m NR Publication status +n R Note +o NR Research date +q NR Assigning agency +r NR Jurisdiction of copyright assessment +s NR Source of information +u R Uniform Resource Identifier +3 NR Materials specified +6 NR Linkage +8 R Field link and sequence number + 544 R LOCATION OF OTHER ARCHIVAL MATERIALS NOTE ind1 b01 Relationship ind2 blank Undefined @@ -2628,6 +2739,7 @@ x R General subdivision y R Chronological subdivision z R Geographic subdivision +0 R Authority record control number 2 NR Source of heading or term 3 NR Materials specified 4 R Relator code @@ -2659,6 +2771,7 @@ x R General subdivision y R Chronological subdivision z R Geographic subdivision +0 R Authority record control number 2 NR Source of heading or term 3 NR Materials specified 4 R Relator code @@ -2688,6 +2801,7 @@ x R General subdivision y R Chronological subdivision z R Geographic subdivision +0 R Authority record control number 2 NR Source of heading or term 3 NR Materials specified 4 R Relator code @@ -2716,6 +2830,7 @@ x R General subdivision y R Chronological subdivision z R Geographic subdivision +0 R Authority record control number 2 NR Source of heading or term 3 NR Materials specified 4 R Relator code @@ -2730,6 +2845,7 @@ x R General subdivision y R Chronological subdivision z R Geographic subdivision +0 R Authority record control number 2 NR Source of heading or term 3 NR Materials specified 6 NR Linkage @@ -2747,6 +2863,7 @@ x R General subdivision y R Chronological subdivision z R Geographic subdivision +0 R Authority record control number 2 NR Source of heading or term 3 NR Materials specified 4 R Relator code @@ -2762,6 +2879,7 @@ x R General subdivision y R Chronological subdivision z R Geographic subdivision +0 R Authority record control number 2 NR Source of heading or term 3 NR Materials specified 4 R Relator code @@ -2770,7 +2888,7 @@ 653 R INDEX TERM--UNCONTROLLED ind1 b012 Level of index term -ind2 blank Undefined +ind2 b0123456 Type of term or name a R Uncontrolled term 6 NR Linkage 8 R Field link and sequence number @@ -2785,6 +2903,7 @@ v R Form subdivision y R Chronological subdivision z R Geographic subdivision +0 R Authority record control number 2 NR Source of heading or term 3 NR Materials specified 4 R Relator code @@ -2801,6 +2920,7 @@ x R General subdivision y R Chronological subdivision z R Geographic subdivision +0 R Authority record control number 2 NR Source of term 3 NR Materials specified 5 NR Institution to which field applies @@ -2816,6 +2936,7 @@ x R General subdivision y R Chronological subdivision z R Geographic subdivision +0 R Authority record control number 2 NR Source of term 3 NR Materials specified 6 NR Linkage @@ -2829,6 +2950,7 @@ x R General subdivision y R Chronological subdivision z R Geographic subdivision +0 R Authority record control number 2 NR Source of term 3 NR Materials specified 6 NR Linkage @@ -2856,6 +2978,7 @@ f R City subsection g R Other nonjurisdictional geographic region and feature h R Extraterrestrial area +0 R Authority record control number 2 NR Source of heading or term 4 R Relator code 6 NR Linkage @@ -2885,6 +3008,7 @@ t NR Title of a work u NR Affiliation x NR International Standard Serial Number +0 R Authority record control number 3 NR Materials specified 4 R Relator code 5 NR Institution to which field applies @@ -2913,6 +3037,7 @@ t NR Title of a work u NR Affiliation x NR International Standard Serial Number +0 R Authority record control number 3 NR Materials specified 4 R Relator code 5 NR Institution to which field applies @@ -2939,6 +3064,7 @@ t NR Title of a work u NR Affiliation x NR International Standard Serial Number +0 R Authority record control number 3 NR Materials specified 4 R Relator code 5 NR Institution to which field applies @@ -2972,6 +3098,7 @@ s NR Version t NR Title of a work x NR International Standard Serial Number +0 R Authority record control number 3 NR Materials specified 5 NR Institution to which field applies 6 NR Linkage @@ -2988,6 +3115,18 @@ 6 NR Linkage 8 R Field link and sequence number +751 R ADDED ENTRY--GEOGRAPHIC NAME +ind1 blank Undefined +ind2 blank Undefined +a NR Geographic name +e R Relator term +0 R Authority record control number +2 NR Source of heading or term +3 NR Materials specified +4 R Relator code +6 NR Linkage +8 R Field link and sequence number + 752 R ADDED ENTRY--HIERARCHICAL PLACE NAME ind1 blank Undefined ind2 blank Undefined @@ -2998,6 +3137,7 @@ f R City subsection g R Other nonjurisdictional geographic region and feature h R Extraterrestrial area +0 R Authority record control number 2 NR Source of heading or term 6 NR Linkage 8 R Field link and sequence number @@ -3019,6 +3159,7 @@ d R Common or alternative name x R Non-public note z R Public note +0 R Authority record control number 2 NR Source of taxonomic identification 6 NR Linkage 8 R Field link and sequence number @@ -3433,6 +3574,10 @@ t NR Title of a work u NR Affiliation v NR Volume/sequential designation +w R Bibliographic record control number +x NR International Standard Serial Number +0 R Authority record control number +3 NR Materials specified 4 R Relator code 6 NR Linkage 8 R Field link and sequence number @@ -3459,6 +3604,10 @@ t NR Title of a work u NR Affiliation v NR Volume/sequential designation +w R Bibliographic record control number +x NR International Standard Serial Number +0 R Authority record control number +3 NR Materials specified 4 R Relator code 6 NR Linkage 8 R Field link and sequence number @@ -3483,6 +3632,10 @@ t NR Title of a work u NR Affiliation v NR Volume/sequential designation +w R Bibliographic record control number +x NR International Standard Serial Number +0 R Authority record control number +3 NR Materials specified 4 R Relator code 6 NR Linkage 8 R Field link and sequence number @@ -3505,6 +3658,10 @@ s NR Version t NR Title of a work v NR Volume/sequential designation +w R Bibliographic record control number +x NR International Standard Serial Number +0 R Authority record control number +3 NR Materials specified 6 NR Linkage 8 R Field link and sequence number @@ -3530,6 +3687,7 @@ a NR Location b R Sublocation or collection c R Shelving location +d R Former shelving location e R Address f R Coded location qualifier g R Non-coded location qualifier @@ -3613,6 +3771,15 @@ ind2 Same as associated field 6 NR Linkage +882 NR REPLACEMENT RECORD INFORMATION +ind1 blank Undefined +ind2 blank Undefined +a R Replacement title +i R Explanatory text +w R Replacement bibliographic record control number +6 NR Linkage +8 R Field link and sequence number + 886 R FOREIGN MARC INFORMATION FIELD ind1 012 Type of field ind2 blank Undefined diff -Nru /tmp/kNt17nZVRm/libmarc-lint-perl-1.43/Makefile.PL /tmp/3pAetPo1EE/libmarc-lint-perl-1.44/Makefile.PL --- libmarc-lint-perl-1.43/Makefile.PL 2007-10-03 20:44:34.000000000 +0100 +++ libmarc-lint-perl-1.44/Makefile.PL 2005-02-27 14:01:56.000000000 +0000 @@ -1,16 +1,32 @@ use strict; + use ExtUtils::MakeMaker; + + &WriteMakefile( + NAME => 'MARC::Lint', + DISTNAME => 'MARC-Lint', + VERSION_FROM => 'lib/MARC/Lint.pm', + ABSTRACT_FROM => 'lib/MARC/Lint.pm', + AUTHOR => 'Bryan Baldus ', + PREREQ_PM => { + 'Test::More' => 0, + 'MARC::Record' => 0, + 'Business::ISBN' => 0, + }, + EXE_FILES => [ qw( bin/marclint ) ], + ); + diff -Nru /tmp/kNt17nZVRm/libmarc-lint-perl-1.43/MANIFEST /tmp/3pAetPo1EE/libmarc-lint-perl-1.44/MANIFEST --- libmarc-lint-perl-1.43/MANIFEST 2007-10-03 20:44:34.000000000 +0100 +++ libmarc-lint-perl-1.44/MANIFEST 2007-08-25 18:22:08.000000000 +0100 @@ -1,15 +1,29 @@ bin/marclint + Changes + etc/ecbdlist.html + etc/specs + lib/MARC/Lint/CodeData.pm + lib/MARC/Lint.pm + Makefile.PL + MANIFEST + README + t/camel.usmarc + t/check020.t + t/check041043.t + t/check245.t + t/lint.t + t/test880and6.t \ No newline at end of file diff -Nru /tmp/kNt17nZVRm/libmarc-lint-perl-1.43/README /tmp/3pAetPo1EE/libmarc-lint-perl-1.44/README --- libmarc-lint-perl-1.43/README 2007-10-03 20:44:35.000000000 +0100 +++ libmarc-lint-perl-1.44/README 2007-08-25 18:23:14.000000000 +0100 @@ -1,28 +1,56 @@ MARC::Lint + =========== + + MARC::Lint provides a mechanism for validating MARC records. MARC::Lint + was once a part of the MARC::Record distribution, but was split out to + ease maintenance and development. + + INSTALLATION + + To install this module type the following: + + perl Makefile.PL + make + make test + make install + + DEPENDENCIES + + - MARC::Record + - Business::ISBN + + COPYRIGHT AND LICENCE + + This software is free software and may be distributed under the same + terms as Perl itself. + + Copyright (C) 2001-2007 Baldus, Lester, Summers + + diff -Nru /tmp/kNt17nZVRm/libmarc-lint-perl-1.43/t/check020.t /tmp/3pAetPo1EE/libmarc-lint-perl-1.44/t/check020.t --- libmarc-lint-perl-1.43/t/check020.t 2007-10-03 20:45:07.000000000 +0100 +++ libmarc-lint-perl-1.44/t/check020.t 2005-02-27 14:13:24.000000000 +0000 @@ -1,92 +1,184 @@ #!perl + + #This tests check_020() called separately + #See lint.t for testing through check_record() + + use strict; + use warnings; + use Test::More tests=>28; + + BEGIN { use_ok( 'MARC::Field' ); } + BEGIN { use_ok( 'MARC::Lint' ); } + + my $lint = new MARC::Lint; + isa_ok( $lint, 'MARC::Lint' ); + + my @fields = ( + ['020', "","", + a => "154879473", #too few digits + ], + ['020', "","", + a => "1548794743", #invalid checksum + ], + ['020', "","", + a => "15487947443", #11 digits + ], + ['020', "","", + a => "15487947443324", #14 digits + ], + ['020', "","", + a => "9781548794743", #13 digit valid + ], + ['020', "","", + a => "9781548794745", #13 digit invalid + ], + ['020', "","", + a => "1548794740 (10 : good checksum)", #10 digit valid with qualifier + ], + ['020', "","", + a => "1548794745 (10 : bad checksum)", #10 digit invalid with qualifier + ], + ['020', "","", + a => "1-54879-474-0 (hyphens and good checksum)", #10 digit invalid with hyphens and qualifier + ], + ['020', "","", + a => "1-54879-474-5 (hyphens and bad checksum)", #10 digit invalid with hyphens and qualifier + ], + ['020', "","", + a => "1548794740(10 : unspaced qualifier)", #10 valid without space before qualifier + ], + ['020', "","", + a => "1548794745(10 : unspaced qualifier : bad checksum)", #10 invalid without space before qualifier + ], + + ['020', "","", + z => "1548794743", #subfield z + ], + + ); + + my @expected = ( + q{020: Subfield a has the wrong number of digits, 154879473.}, + q{020: Subfield a has bad checksum, 1548794743.}, + q{020: Subfield a has the wrong number of digits, 15487947443.}, + q{020: Subfield a has the wrong number of digits, 15487947443324.}, + q{020: Subfield a has bad checksum (13 digit), 9781548794745.}, + q{020: Subfield a has bad checksum, 1548794745 (10 : bad checksum).}, + q{020: Subfield a may have invalid characters.}, + q{020: Subfield a may have invalid characters.}, + q{020: Subfield a has bad checksum, 1-54879-474-5 (hyphens and bad checksum).}, + q{020: Subfield a qualifier must be preceded by space, 1548794740(10 : unspaced qualifier).}, + q{020: Subfield a qualifier must be preceded by space, 1548794745(10 : unspaced qualifier : bad checksum).}, + q{020: Subfield a has bad checksum, 1548794745(10 : unspaced qualifier : bad checksum).}, + + ); + + foreach my $field (@fields) { + my $field_object = MARC::Field->new( @$field ); + isa_ok( $field_object, 'MARC::Field', (join "", "MARC field, ", $field_object->subfield('a')) ) if $field_object->subfield('a'); + + my $check_tag = "check_".$field_object->tag(); + $lint->$check_tag( $field_object ); + my @warnings = $lint->warnings; + $lint->clear_warnings(); + while ( @warnings ) { + my $expected = shift @expected; + my $actual = shift @warnings; + + is( $actual, $expected, "Checking expected messages, $expected" ); + } + } #foreach field + + is( scalar @expected, 0, "All expected messages exhausted." ); + diff -Nru /tmp/kNt17nZVRm/libmarc-lint-perl-1.43/t/check041043.t /tmp/3pAetPo1EE/libmarc-lint-perl-1.44/t/check041043.t --- libmarc-lint-perl-1.43/t/check041043.t 2007-10-03 20:45:07.000000000 +0100 +++ libmarc-lint-perl-1.44/t/check041043.t 2005-02-27 14:15:12.000000000 +0000 @@ -1,66 +1,132 @@ #!perl + + #This tests check_041() and check_043() called separately + #See lint.t for testing through check_record() + + use strict; + use warnings; + use Test::More tests=>18; + + BEGIN { use_ok( 'MARC::Field' ); } + BEGIN { use_ok( 'MARC::Lint' ); } + + my $lint = new MARC::Lint; + isa_ok( $lint, 'MARC::Lint' ); + + my @fields = ( + ['041', "0","", + a => 'end', #invalid + a => 'span', #too long + h => 'far', #opsolete + ], + ['041', "1","", + a => 'endorviwo', #invalid + a => 'spanowpalasba', #too long and invalid + ], + ['043', "","", + a => 'n-----', #6 chars vs. 7 + a => 'n-us----', #8 chars vs. 7 + a => 'n-ma-us', #invalid code + a => 'e-ur-ai', #obsolete code + ], + + ); + + my @expected = ( + q{041: Subfield _a, end (end), is not valid.}, + q{041: Subfield _a must be evenly divisible by 3 or exactly three characters if ind2 is not 7, (span).}, + q{041: Subfield _h, far, may be obsolete.}, + q{041: Subfield _a, endorviwo (end), is not valid.}, + q{041: Subfield _a, endorviwo (orv), is not valid.}, + q{041: Subfield _a, endorviwo (iwo), is not valid.}, + q{041: Subfield _a must be evenly divisible by 3 or exactly three characters if ind2 is not 7, (spanowpalasba).}, + q{043: Subfield _a must be exactly 7 characters, n-----}, + q{043: Subfield _a must be exactly 7 characters, n-us----}, + q{043: Subfield _a, n-ma-us, is not valid.}, + q{043: Subfield _a, e-ur-ai, may be obsolete.}, + + ); + + foreach my $field (@fields) { + my $field_object = MARC::Field->new( @$field ); + isa_ok( $field_object, 'MARC::Field', 'MARC field' ); + + my $check_tag = "check_".$field_object->tag(); + $lint->$check_tag( $field_object ); + my @warnings = $lint->warnings; + $lint->clear_warnings(); + while ( @warnings ) { + my $expected = shift @expected; + my $actual = shift @warnings; + + is( $actual, $expected, "Checking expected messages, $expected" ); + } + } #foreach field + + is( scalar @expected, 0, "All expected messages exhausted." ); + diff -Nru /tmp/kNt17nZVRm/libmarc-lint-perl-1.43/t/check245.t /tmp/3pAetPo1EE/libmarc-lint-perl-1.44/t/check245.t --- libmarc-lint-perl-1.43/t/check245.t 2007-10-03 20:45:08.000000000 +0100 +++ libmarc-lint-perl-1.44/t/check245.t 2007-08-25 18:19:56.000000000 +0100 @@ -1,95 +1,190 @@ #!perl + + #This tests check_245() called separately + #See lint.t for testing through check_record() + + use strict; + use warnings; + use Test::More tests=>60; + + BEGIN { use_ok( 'MARC::Field' ); } + BEGIN { use_ok( 'MARC::Lint' ); } + + my $lint = new MARC::Lint; + isa_ok( $lint, 'MARC::Lint' ); + + my @fields = ( + [245, '0', '0', 'a', 'Subfield a.'], + [245, '0', '0', 'b', 'no subfield a.'], + [245, '0', '0', 'a', 'No period at end'], + [245, '0', '0', 'a', 'Other punctuation not followed by period!'], + [245, '0', '0', 'a', 'Other punctuation not followed by period?'], + [245, '0', '0', 'a', 'Precedes sub c', 'c', 'not preceded by space-slash.'], + [245, '0', '0', 'a', 'Precedes sub c/', 'c', 'not preceded by space-slash.'], + [245, '0', '0', 'a', 'Precedes sub c /', 'c', 'initials in sub c B. B.'], + [245, '0', '0', 'a', 'Precedes sub c /', 'c', 'initials in sub c B.B. (no warning).'], + [245, '0', '0', 'a', 'Precedes sub b', 'b', 'not preceded by proper punctuation.'], + [245, '0', '0', 'a', 'Precedes sub b=', 'b', 'not preceded by proper punctuation.'], + [245, '0', '0', 'a', 'Precedes sub b:', 'b', 'not preceded by proper punctuation.'], + [245, '0', '0', 'a', 'Precedes sub b;', 'b', 'not preceded by proper punctuation.'], + [245, '0', '0', 'a', 'Precedes sub b =', 'b', 'preceded by proper punctuation.'], + [245, '0', '0', 'a', 'Precedes sub b :', 'b', 'preceded by proper punctuation.'], + [245, '0', '0', 'a', 'Precedes sub b ;', 'b', 'preceded by proper punctuation.'], + [245, '0', '0', 'a', 'Precedes sub h ', 'h', '[videorecording].'], + [245, '0', '0', 'a', 'Precedes sub h-- ', 'h', '[videorecording] :', 'b', 'with elipses dash before h.'], + [245, '0', '0', 'a', 'Precedes sub h-- ', 'h', 'videorecording :', 'b', 'without brackets around GMD.'], + [245, '0', '0', 'a', 'Precedes sub n.', 'n', 'Number 1.'], + [245, '0', '0', 'a', 'Precedes sub n', 'n', 'Number 2.'], + [245, '0', '0', 'a', 'Precedes sub n.', 'n', 'Number 3.', 'p', 'Sub n has period not comma.'], + [245, '0', '0', 'a', 'Precedes sub n.', 'n', 'Number 3,', 'p', 'Sub n has comma.'], + [245, '0', '0', 'a', 'Precedes sub p.', 'p', 'Sub a has period.'], + [245, '0', '0', 'a', 'Precedes sub p', 'p', 'Sub a has no period.'], + [245, '0', '0', 'a', 'The article.'], + [245, '0', '4', 'a', 'The article.'], + [245, '0', '2', 'a', 'An article.'], + [245, '0', '0', 'a', "L\'article."], + [245, '0', '2', 'a', 'A la mode.'], + [245, '0', '5', 'a', 'The "quoted article".'], + [245, '0', '5', 'a', 'The (parenthetical article).'], + [245, '0', '6', 'a', '(The) article in parentheses).'], + [245, '0', '9', 'a', "\"(The)\" \'article\' in quotes and parentheses)."], + [245, '0', '5', 'a', '[The supplied title].'], + + + ); + + my @expected = ( + q{245: Must have a subfield _a.}, + q{245: First subfield must be _a, but it is _b}, + q{245: Must end with . (period).}, + q{245: MARC21 allows ? or ! as final punctuation but LCRI 1.0C, Nov. 2003, requires period.}, + q{245: MARC21 allows ? or ! as final punctuation but LCRI 1.0C, Nov. 2003, requires period.}, + q{245: Subfield _c must be preceded by /}, + q{245: Subfield _c must be preceded by /}, + q{245: Subfield _c initials should not have a space.}, + q{245: Subfield _b should be preceded by space-colon, space-semicolon, or space-equals sign.}, + q{245: Subfield _b should be preceded by space-colon, space-semicolon, or space-equals sign.}, + q{245: Subfield _b should be preceded by space-colon, space-semicolon, or space-equals sign.}, + q{245: Subfield _b should be preceded by space-colon, space-semicolon, or space-equals sign.}, + q{245: Subfield _h should not be preceded by space.}, + q{245: Subfield _h must have matching square brackets, h.}, + q{245: Subfield _n must be preceded by . (period).}, + q{245: Subfield _p must be preceded by , (comma) when it follows subfield _n.}, + q{245: Subfield _p must be preceded by . (period) when it follows a subfield other than _n.}, + q{245: First word, the, may be an article, check 2nd indicator (0).}, + q{245: First word, an, may be an article, check 2nd indicator (2).}, + q{245: First word, l, may be an article, check 2nd indicator (0).}, + q{245: First word, a, does not appear to be an article, check 2nd indicator (2).}, + ); + + foreach my $field (@fields) { + my $field_object = MARC::Field->new( @$field ); + isa_ok( $field_object, 'MARC::Field', 'MARC field' ); + + $lint->check_245( $field_object ); + my @warnings = $lint->warnings; + $lint->clear_warnings(); + while ( @warnings ) { + my $expected = shift @expected; + my $actual = shift @warnings; + + is( $actual, $expected, join "\n", ( "Checking expected messages, $expected", $field_object->as_string() )); + } + } #foreach field + + is( scalar @expected, 0, "All expected messages exhausted." ); + diff -Nru /tmp/kNt17nZVRm/libmarc-lint-perl-1.43/t/lint.t /tmp/3pAetPo1EE/libmarc-lint-perl-1.44/t/lint.t --- libmarc-lint-perl-1.43/t/lint.t 2007-10-03 20:45:08.000000000 +0100 +++ libmarc-lint-perl-1.44/t/lint.t 2008-05-25 09:58:42.000000000 +0100 @@ -1,124 +1,256 @@ #!perl + + use strict; + use warnings; + use File::Spec; + use Test::More tests=>41; + + BEGIN { use_ok( 'MARC::File::USMARC' ); } + BEGIN { use_ok( 'MARC::Lint' ); } + + + FROM_FILE: { + my @expected = ( (undef) x 9, [ q{100: Indicator 1 must be 0, 1 or 3 but it's "2"} ], [ q{007: Subfields are not allowed in fields lower than 010} ] ); + + my $lint = new MARC::Lint; + isa_ok( $lint, 'MARC::Lint' ); + + my $filename = File::Spec->catfile( 't', 'camel.usmarc'); + + my $file = MARC::File::USMARC->in( $filename ); + while ( my $marc = $file->next() ) { + isa_ok( $marc, 'MARC::Record' ); + my $title = $marc->title; + $lint->check_record( $marc ); + + my $expected = shift @expected; + my @warnings = $lint->warnings; + + if ( $expected ) { + ok( eq_array( \@warnings, $expected ), "Warnings match on $title" ); + } else { + is( scalar @warnings, 0, "No warnings on $title" ); + } + } # while + + is( scalar @expected, 0, "All expected messages have been exhausted." ); + } + + + FROM_TEXT: { + my $marc = MARC::Record->new(); + isa_ok( $marc, 'MARC::Record', 'MARC record' ); + + $marc->leader("00000nam 22002538a 4500"); # The ????? represents meaningless digits at this point + my $nfields = $marc->add_fields( + ['041', "0", "", + a => 'end', + a => 'fren', + ], + ['043', "", "", + a => 'n-us-pn', + ], + ['082', "0", "4", + a => '005.13/3', + R => 'all', #typo 'R' for 'W' and missing 'b' subfield + 2 => '21' + ], + ['082', "1", "4", + a => '005.13', + b => 'Wall', + 2 => '14' + ], + [100, "1","4", + a => "Wall, Larry", + ], + [110, "1","", + a => "O'Reilly & Associates.", + ], + [245, "9","0", + a => "Programming Perl / ", + a => "Big Book of Perl /", + c => "Larry Wall, Tom Christiansen & Jon Orwant.", + ], + [250, "", "", + a => "3rd ed.", + ], + [250, "", "", + a => "3rd ed.", + ], + [260, "", "", + a => "Cambridge, Mass. : ", + b => "O'Reilly, ", + r => "2000.", + ], + [590, "4","", + a => "Personally signed by Larry.", + + ], + + [650, "","0", + + a => "Perl (Computer program language)", + + 0 => "(DLC)sh 95010633", + ], + [856, "4","3", + u => "http://www.perl.com/", + ], + [886, "0", "", + 4 => "Some foreign thing", + q => "Another foreign thing", + ], + ); - is( $nfields, 13, "All the fields added OK" ); + + is( $nfields, 14, "All the fields added OK" ); + + my @expected = ( + q{1XX: Only one 1XX tag is allowed, but I found 2 of them.}, + q{041: Subfield _a, end (end), is not valid.}, + q{041: Subfield _a must be evenly divisible by 3 or exactly three characters if ind2 is not 7, (fren).}, + q{043: Subfield _a, n-us-pn, is not valid.}, + q{082: Subfield _R is not allowed.}, + q{100: Indicator 2 must be blank but it's "4"}, + q{245: Indicator 1 must be 0 or 1 but it's "9"}, + q{245: Subfield _a is not repeatable.}, + q{250: Field is not repeatable.}, + q{260: Subfield _r is not allowed.}, + q{856: Indicator 2 must be blank, 0, 1, 2 or 8 but it's "3"}, + ); + + my $lint = new MARC::Lint; + isa_ok( $lint, 'MARC::Lint' ); + + $lint->check_record( $marc ); + my @warnings = $lint->warnings; + while ( @warnings ) { + my $expected = shift @expected; + my $actual = shift @warnings; + + is( $actual, $expected, "Checking expected messages" ); + } + is( scalar @expected, 0, "All expected messages exhausted." ); + } + diff -Nru /tmp/kNt17nZVRm/libmarc-lint-perl-1.43/t/test880and6.t /tmp/3pAetPo1EE/libmarc-lint-perl-1.44/t/test880and6.t --- libmarc-lint-perl-1.43/t/test880and6.t 2007-10-03 20:45:08.000000000 +0100 +++ libmarc-lint-perl-1.44/t/test880and6.t 2007-08-25 18:19:06.000000000 +0100 @@ -1,77 +1,154 @@ #!perl + + #Tests for field 880 and for subfield 6 + + use strict; + use warnings; + use File::Spec; + use Test::More tests=>6; + + BEGIN { use_ok( 'MARC::File::USMARC' ); } + BEGIN { use_ok( 'MARC::Lint' ); } + + FROM_TEXT: { + my $marc = MARC::Record->new(); + isa_ok( $marc, 'MARC::Record', 'MARC record' ); + + $marc->leader("00000nam 22002538a 4500"); + + my $nfields = $marc->add_fields( + ['001', 'ttt07000001 '], + ['003', 'TEST '], + ['008', '070520s2007 ilu 000 0 eng d', + ], + ['040', "", "", + a => 'TEST', + c => 'TEST', + ], + ['050', "", "4", + a => 'RZ999', + b => '.J66 2007', + ], + ['082', "0", "4", + a => '615.8/9', + 2 => '22' + ], + [100, "1","", + a => "Jones, John.", + ], + [245, "1","0", + 6 => "880-02", + a => "Test 880.", + ], + [260, "", "", + a => "Mount Morris, Ill. :", + b => "B. Baldus,", + c => "2007.", + ], + [300, "", "", + a => "1 v. ;", + c => "23 cm.", + ], + [880, "1", "0", + 6 => '245-02/$1', + a => ".", + ], + ); + is( $nfields, 11, "All the fields added OK" ); + + my @expected = ( + # (undef), + #q{}, + ); + + my $lint = new MARC::Lint; + isa_ok( $lint, 'MARC::Lint' ); + + $lint->check_record( $marc ); + my @warnings = $lint->warnings; + while ( @warnings ) { + my $expected = shift @expected; + my $actual = shift @warnings; + + is( $actual, $expected, "Checking expected messages" ); + } + is( scalar @expected, 0, "All expected messages exhausted." ); + } + +