how to assign tag numbers
| standards |
(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
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 $