Table of Contents

Validation table column definitions and examples

The files used to make the validation tables for MARC Report are now generally available under
a CC BY-NC-SA 4.0 license; the suggested attribution statement is:

MARC Report Validation Table (c)1999-2024 
by Richard Fritz and Deborah Fritz is licensed under CC BY-NC-SA 4.0

Links to the primary tables follow. These tables are current with version 261 of the program.

NB. If opening these files in Excel, it's default behavior will be to remove leading zeroes.
There should be a pop-up advising of this behavior–Be sure to respond “Don't convert” to the pop-up.

Overview

The validation table format is: one row for each content designator (the latter being any tag, fixed field value, tag indicator value, or subfield value).

There are 15 columns in each row, labelled as follows:

  1. TAG
  2. POS
  3. LEN
  4. TYPE
  5. CODE
  6. IND1
  7. IND2
  8. SUBF
  9. DESC1
  10. DESC2
  11. DESC3
  12. REP
  13. CAT
  14. MSG
  15. EXP

These columns are documented in detail below.

General notes

About the fixed fields

You will probably notice that there are a great many rows at the beginning of the table for the fixed fields. The reason for this is that many of the referenced content designators have a definiton that is dependent on the type of material being described.

For example, if an 007/01 is coded 'd', it might indicate an atlas, a computer disc, tactile material with no text, a filmslip, a microfilm reel, a drawing, a sound disc, looseleaf text, or a videodisc. Each meaning is dependent on the type of material (typically by a code in 007/00).

To deal with this variability, we decided to repeat each fixed field element for each applicable format or material type. Thus, for the 007, for example, there is a different section in the table–differentiated by the TYPE column–for: Maps, Computer files, Globes, Tactile material, Projected Graphics, and so on; and thus, a number of rows for each possible 007/01 value will appear in each of these sections.



For general instructions on how to activate custom validation in MARC Report, visit this page.

Validation table Columns

There are 15 columns for each row in a MARC Report Validation table.

1. TAG

TAG contains the three-digit MARC TAG. For example, enter “020” and not “20”.

2. POS

POS contains the starting offset/position of a fixed-field element. This must be a two-digit zero-based number.

If not applicable (which will be the default for a variable field) enter “00”.

3. LEN

LEN contains the specified length of a fixed-field element. This must be a two-digit number. For example, enter “01” and not “1”.

If not applicable (which will be the default for a variable field) enter “00”.

4. TYPE

TYPE contains a two-character mnemonic code in a fixed field row.

If not applicable (which will be the default for a variable field), TYPE is empty (but note exceptions below).

For tags 000, 006, 008, TYPE must be one of the following two-letter codes:

BK   (i.e. Books)
CF   (i.e. Computer Files)
MP   (i.e. Maps)
MU   (i.e. Music)
SE   (i.e. Continuing Resources*)
MX   (i.e. Mixed Materials)
VM   (i.e. Visual Materials)

*For compatibility reasons, MARC Report requires the TYPE code “SE” be entered instead of “CR”.

For tag 007, TYPE must be one of the following two-letter codes:

MP   (i.e. Map)
CF   (i.e. Electronic resource)
GL   (i.e. Globe)
TM   (i.e. Tactile material)
PR   (i.e. Projected graphic)
MC   (i.e. Microform)
NP   (i.e. Nonprojected graphic)
MO   (i.e. Motion picture)
KT   (i.e. Kit)
NM   (i.e. Notated music)
RS   (i.e. Remote-sensing image)
SR   (i.e. Sound recording)
TX   (i.e. Text)
VR   (i.e. Videorecording)
UN   (i.e. Unspecified)

Exceptions:

5. CODE

CODE contains the defined value for a fixed field element. CODE is case-sensitive and thus far has always been entered in lowercase. The number of characters in CODE must equal the value in the corresponding LEN column.

CODE is typically empty for variable fields, but note the following exception.

Exceptions:

CODE values beginning with “$” cause the program to execute non-standard, internal routines on the referred-to data elements. For example, the CODE “$LANG” causes the program to validate the referenced content against the “MARC CODE list for Languages”. “$” CODE values should not be modified or added by the user. (MARC Report will provide an updated method to support user-defined codelist validation–in the meantime, the following page may be helpful: user valuelists ).

6. IND1

IND1 contains a defined value for Indicator 1. Valid values are ”#” and the numbers 0-9 (“#” is used to indicate a single blank space).

IND1 must be empty for a fixed field or control field.

7. IND2

IND2 contains a defined value for Indicator 2. Valid values are “#” and the numbers 0-9 (“#” is used to indicate a single blank space).

IND2 must be empty for a fixed field or control field.

8. SUBF

SUBF contains a defined subfield code. Valid values are a-z (letters must be lowercase), and 0-9. Must be entered in alphabetical order, with numeric subfields (in numeric order) following alphabetic subfields.

SUBF must be empty for a fixed field or control field.

9. DESC1

DESC1 contains the name of the field, as given by LC in the MARC documentation (https://www.loc.gov/marc/).

In MARC Report, DESC1 has always been entered in uppercase 1). DESC1 is repeated in every row with the same TAG.

For example, for each row in the bib table with TAG 504, DESC1 contains:

BIBLIOGRAPHY, ETC. NOTE 

10. DESC2

The function of the DESC2 varies according to the type of content designator, but again, the string entered here is always taken from the MARC documentation site cited above. This string is entered in sentence case.

For the Leader and Fixed Fields, DESC2 contains the label assigned to each character position; DESC2 is repeated for each value defined for a character position.

For example, in the rows that enumerate the values defined for Leader position 06, DESC2 contains:

Type of record 

For Indicators, DESC2 contains the name of the indicator (“First indicator” or “Second indicator”), optionally follwed by a colon and a description of the function of the indicator. DESC2 is repeated for each value defined for an Indicator.

For example, in rows that enumerate the values defined for Indicator 1 in personal name tags, DESC2 contains:

First indicator: Type of personal name entry element 

For Subfields, DESC2 contains the label assigned to the subfield code (without the subfield code itself).

For example, in the row for Tag 100, subfield $a, DESC2 contains:

 Personal name

DESC2 is empty in only one case: 'Tag Rows' (i.e., the first row in any Tag's sequence of rows).

11. DESC3

The function of the DESC3 varies according to the type of content designator, but again, the string entered here is always taken from the MARC documentation site cited above. This string is entered in sentence case.

For the Leader and Fixed Fields, DESC3 contains the label assigned to each CODE defined for a position.

For example, the CODE and DESC3 columns for Cataloging Source (008/39) contain:

CODE DESC3
|    No attempt to code
#    National bibliographic agency
c    Cooperative cataloging program
d    Other
u    Unknown

For Indicators, DESC3 contains the label assigned to each value defined for an Indicator.

For example, in rows that enumerate the values defined for Indicator 1 in personal name tags, IND1 and DESC3 contain:

IND1  DESC3
0     Forename
1     Surname
2     Family name

A common occurrence in variable fields is the following (example for Tag 500, columns DESC1, DESC2, and DESC3):

DESC1         DESC2                   DESC3  
GENERAL NOTE 	First indicator 	Undefined; contains a blank (#)
GENERAL NOTE 	Second indicator 	Undefined; contains a blank (#)

DESC3 is always empty for subfields.

12. REP

For TAG and Subfield rows, the REP column contains “R” if the data element is repeatable, or “N” if it is not repeatable.

REP is empty in all other cases.

13. CAT

CAT contains a one-character 'category' code. At present, only two category codes are recognised: “O”–the data element has been declared Obsolete by LC; “U”–the data element is a user customization (not defined by LC).

CAT is empty in all other cases.

14. MSG

MSG contains a note which MARC Report wiil display in the 'Notes' section during an Edit Session. At present, these notes are supported only when the CAT column is set to a non-empty value. MSG is empty in all other cases. The maximun length for the MSG column is 255 characters.

15. EXP

EXP is not implemented by MARC Report. You may enter a short note here, or leave it blank.



In addition to the documentation above, another good way to learn about the validation table format used by MARC Report is to open a validation table and study it. There are many thousands of rows in the bib table, for example, and they have all been entered in a consistent order and manner.

Examples

Note: The examples that follow below are provided to demonstrate how to change a validation table, but they do not reflect currrent MARC21 standards.

Steps to add a new Tag to the table

To add a new tag, a minimum of new four rows will be needed: one for the “Tag row”, (at least) one for each indicator, and at least one subfield.

For example, let's add a new repeatable Tag 328, named “Publication Characteristics” to the bib table.

Tag row

Indicator rows

Subfield rows

When this example is complete, the table rows for the new tag “328” should look like this:

<!– Steps to add a new Indicator 1 value to a variable field; example: Tag 521, Indicator 1 = “5”

Steps to add a new Indicator 2 value to a variable field; example: Tag 650, Indicator 2 = “8”

Steps to add a new Subfield value to a variable field; example: Tag 882, Subfield “4”.

To illustrate a table update, let's assume the following case. A Marc Update has just been published that includes the following changes:

Rename Field 348 to:
    348 – Notated Music Characteristics (R)

Add new subfields $c and $d to field 348 as follows:
    $c – Form of musical notation term

    $d – Form of musical notation code

Follow these steps to make these changes:

  
  * Scroll down until you reach "348" in the "Tag" column

  * To rename the field, change "FORMAT OF NOTATED MUSIC" to "NOTATED MUSIC CHARACTERISTICS" in the "DESC1" column of each row that begins with "348". Note: by convention, the "DESC1" is always entered in uppercase

–>

Exceptions

There are a few cases not described above, the most notable being the use of strings beginning with “$” in the CODE column.

For example, in the 008, the bib table contains the code $LANG in position 35 for each bib type. These “$” codes instruct the program to validate the corresponding MARC data using a special function3).

These special function designators are not customizable by the end-user.

If there is need to validate a MARC data element against a user-defined list of values, the following wiki page may be useful: user-defined value lists

1)
the reason for this may be seen when using the program's MARC Help option (F1)
2)
Repeatability does not apply to indicator rows
3)
in the example for 008/35, the data would be checked against the Marc Code List for Languages