Local Holdings Schema
This schema was developed to allow the inclusion of more detailed local holdings information within a MODS record than is currently possible. However, the schema is not limited to use with MODS — it could be used anywhere a simple local holdings statement is needed.
This page provides a brief description of the schema as well as a MARC21 conversion table.
Download version 1 of the Holdings Schema.
Schema Elements and Attributes
The XML namespace for this Holdings Schema is "http://copac.ac.uk/schemas/holdings/v1" and the schema location is "http://copac.ac.uk/schemas/holdings/v1/holdings-v1.xsd".
The top level element is localHolds. When used with MODS you would embed the holdings descriptions inside the MODS extension element. Any number of localHolds elements can be embedded inside the extension element.
- This is the top level schema element. It has four
sub-elements: org, objId, holds, localNote.
- This is an optional element that shows who is the
holding organisation. The maximum number of
occurrences of this element is 1. There are two optional attributes:
- If the text of the element is a code then this attribute can be used to indicate the Authority behind the code. Suggested values are: MARC, OCLC, RLG, CURL.
- A human readable version for display to the user.
- This is an optional element that gives a record identifier for an associated object record. It's value could be a URI such as info:lccn/20060294857, or it might be your local record number. In a union database there may be a number of holdings contained within a MODS record, each from different contributors. This element might then give the record identifier of the originally contributed record from a specific institution.
- This is an optional element that gives the local holdings details about
the material described in the object record. Within this are four
elements: item, enumChron, textHold, and uri.
- This is an optional element that provides item details. There
are two optional attributes: displayLabel and itemNumber.
- The barcode for the item
- the code for the branch library or other sub-location holding a
copy of the document. There is one optional attribute:
- A human readble version of the code.
- this is an optional element that provides the Shelfmark or other location identification code for an item.
- this is an optional element that provides notes relating to a specific copy of a document.
- This is an optional element that provides details about the enumeration
and chronology of the material, eg. volume details of a periodical.
There are two optional attribute:
- Possible values are: bib, sup, ind. These values correspond to the MARC21 Holdings fields: 863, 864 and 865.
- The barcode for the item
- This is an optional element that provides a textual description of the
available materials, eg. missing journal volumes. There is one
- Possible values are: bib, sup, ind. These values correspond to the MARC21 Holdings fields: 866, 867 and 868.
- This is an optional element that provides a link to an online resource,
eg. a link to a web page describing detailed journal
holdings. There is one optional attribute:
- A human readable label for the URI.
- This is used to display general local notes. These may be general notes
about a document that don't relate to any particular copy. Alternatively
if the main MODS record refers to a single copy of a
document they may provide copy related information. There are two
- Use the same values here as you would for the type attribute on a MODS note element.
- A human readable label for the note.
The following example shows three Holdings Schema records embedded inside a single MODS record. The first two holdings are from Nottingham University (CURL library code Ntm) and the third holdings statement is from Leeds University (CURL library code Lee). The <objId> in this example are the CURL record numbers of the corresponding bibliographic records on the CURL database.
Note, for brevity the XML namespace for the Holdings Schema elements has been omitted in the following example.
<mods:mods> ... <mods:extension> <localHolds> <org type="CURL" displayName="Nottingham">Ntm</org> <objId>16012300002</objId> <holds> <item> <loc displayName="Halward Library">HAL</loc> <shelfmark>2/Ref Z6941 .W4</shelfmark> </item> </holds> </localHolds> <localHolds> <org type="CURL" displayName="Nottingham">Ntm</org> <objId>16012300002</objId> <holds> <item> <loc displayName="Greenfield Medical Library">GML</loc> <shelfmark>Reference Z6941 WIL</shelfmark> </item> </holds> </localHolds> <localHolds> <org type="CURL" displayName="Leeds">Lee</org> <objId>04b2985300</objId> <holds> <item> <loc displayName="Brotherton Library">blm1</loc> <shelfmark>WL 385 OFF</shelfmark> </item> <textHold type="bib">v.1- (1981-)</textHold> </holds> </localHolds> </mods:extension> </mods:mods>
MARC21 Holdings mapping to Holdings Schema
This is a suggested mapping of a MARC21 Holdings format record to the Holdings Schema described on this page.
The localHolds element corresponds to one MARC21 Holdings format record. The remaining elements map as follows.
- 852 $a. The type attribute should contain the value "MARC". The displayName attribute could be set to the full name of organization.
- This could be either:
- bibliographic record 001
- other local record ID field
- holdings record 004
Sub-elements MARC fields loc 852 $b $c shelfmark 852 $h $i $j $k $l $m $t copyNote 852 $3 $z Attribute MARC fields itemNo 852 $p
Attribute MARC fields itemNo 852 $p Value of "type" attribute MARC fields bib 853 863 $a-$h, $i-$m sup 854 864 $a-$h, $i-$m $t, 864 $o ind 855 865 $a-$h, $i-$m $t, 865 $o
Value of "type" attribute MARC fields bib 866 $a $z sup 867 $a $z ind 868 $a $z
- 856 $u. The displayLabel attribute takes the contents of 856 $3.
- Local notes such as 509, 590, 950 etc. Where multiple locations are represented by the document described in the main MODS record this might also include the copy specific notes 561, 562, 563, 583, 584
Alternatives to this schema
Other ways of incorporating local holdings information in a MODS record are as follows.
- Z39.50 Holdings Schema
- The Z39.50 Holdings Schema is recommend by the MODS web site, but is seen as overly complex and difficult to use by some.
- The use of MARCXML is a pragmatic solution — especially if you already have a MARC21 Holdings Format record in hand.
The intention is to release this schema under an Open Source Library as per the Jisc giudelines.
Many thanks to Jan Ashton and Damon Smith at the British Library for their comments and suggestions.
We welcome feedback regarding this schema. Please send any comments to email@example.com.