Coronita

Announcement
htld


Selene

Announcement


Malete

DownLoad
Status
OverView
Usage
Structures
Protocol
Query
MultiProcess


formats

FileFormats
character sets
... and converting
CDS/ISIS
IIF/ISO2709


misc

changes from earlier versions
tag numbers


drafts (partly obsolete)

MetaData
object model
Tcl
TagUse
how to assign tag numbers

standards

IIF (ISO 2709) makes a distinction between
  • control fields 001-009
    which must be the leading fields in a record in order of increasing tags. Control fields do not use any subfields, i.e. no indicators nor subfield delimiters or identifiers. IIF demands exactly one field 001, which must hold a record control number. 002 is reserved for subrecord purposes, others are implementation defined. (IIF also supports alpha tags 00a-00z, which are not supported by ISIS and to my knowledge not used in bibliographical standards).
  • data fields with arbitrary tags
    to be in any ordering, but after all control fields. All data fields start with a fixed number of indicators (two in MARC) followed by subfields, each introduced by a delimiter and identifier.

Unimarc, Marc21 and even MAB agree on the use of 005 as version identifier, holding a last modified time as YYYYMMDDHHMMSS.T (with tenths of a second) according to ISO 8601. Marc21 additionally uses 003 as "control number identifier" (identifying the organization who assigned 001), 006 for "additional material characteristics", 007 for physical description and 008 for "general information" like date and place of publication.
Other 0xx tags are typically used for various other identifiers and classifications of the record like an ISBN, a number according to some national bibliography, dewey decimal classification and so on.

recommendations

It is suggested to use (00)1 and (00)5 as record "control number" (unique primary key) and last modified time. Probably it is also not such a bad idea of IIF to reserve (00)2 for "subrecord purposes".

If you are storing bibliographical or similar data, or the number of fields is in the hundreds for some other reason, it is suggested to assign tags in nice blocks of 100 like Unimarc does, using 0xx for identifiers.
Typically you will want to stick to IIF's restrictions on control fields vs. data fields only if you are actually using some MARC format. Yet, some future special support for a primary key in field 001 might require it to be the first field.

In other typical database applications like storing addressbook data, email headers or shop orders, use (0)10 - (0)99, possibly arranged in blocks of 10 (e.g. personal, postal, phone and so on).

Use 3,4 and 6-9 for what you somehow consider "control fields" or to save some digits if you really are going to get by with 6 "data fields".

Use 0 for unqualified text. Do not use negative tags other than for counted subrecords.

$Id: TagUse.txt,v 1.2 2004/07/26 13:20:18 kripke Exp $