Child pages
  • Using MARC as source data
Skip to end of metadata
Go to start of metadata

The LUNALibrary and Uploader have been modified to support uploading and processing of MARC files with .mrc extensions. In order to translate a MARC record into a format that is recognized by the LUNA Library, mappings must be properly specified in the collection's schema for each of the fields that will hold data from the fields in the MARC record. Certain limitations are imposed on the structure of the cataloging template to facilitate transition of data from MARC format, which will be discussed below.

Brief MARC format summary:

1. Control Fields- Control numbers and other kinds of control and coded information that are used in the processing of machine-readable bibliographic records. These fields have no subfield codes. These fields do not repeat.

2. Data Fields- are further divided into subfields using a single letter or number designation (e.g $a). Subfields are where data values are located. Data Fields and SubFields are repeatable. To find out if a certain field is repeatable, check:

How to specify a mapping:

To specify a mapping for a field, add a <marc_mapping> element directly under the <field> element for the targeted field, specify a value for the MARC mapping, either a 3-digit number for MARC control fields (e.g. 005), or a 3-digit number followed by the subfield code for Subfields (e.g. 949$a)

      <entity eType="Dependent" name="title" order="2">
        <field fType="String" name="title" order="1">


Limitations on cataloging template structure:

1. Since many data fields are repeatable, it is required that the fields mapped to them be placed inside of a field group. Furthermore, field groups should contain fields that are mapped to MARC subfields of the same MARC Data field. For example, a field group named 'Description' contains fields 'Extent' and 'Dimensions', if 'Extent' is mapping to '300$a', then 'Dimensions' must be mapped (if there's a mapping at all) to a subfield in the 300 data field, such as '300$c'.

2. Mappings in all descendants of a field group must reference the same data field. For example, a field group named 'Description' contains a  field 'Extent' and a field group 'Dimensions' with a field called 'Dimension', if 'Extent' is mapping to '300$a', Dimension must be mapped to a subfield in the 300 data field.

3. Repeated subfields- if a MARC record contains a data field with repeating subfields, the repeating values will be placed into the same LUNA field, separated by a semicolon and followed by a space. For example, 541$a has value "Wood River Journal" and anther $a subfield in the SAME 541 data field has value "Copy costs and use fees apply", the mapped LUNA field will have "Wood River Journal; Copy costs and use fees apply"

4. Use ':' to combine values in subfields- In some occasion, you may want to combine values from multiple subfields of the same data field. You may do so by placing more than one subfields into <marc_mapping> using colon as a separator. Data from these subfields will be concatenated and separated by a space. For example <marc_mapping>949$a:949$b:949$c:949$d:949$e</marc_mapping>.

5. Like importing data using csv or xml, at least one field in the primary entity must contain data, and since MARC data fields are always in a field group (see #1 above), at least one field in the primary entity should be mapped to a MARC Control field, and this field must always contain data.


How to set this up in LUNA 7.0

In the initial release of the LUNA Collection Manager, MARC records were supported on the backend but the templates/schemas editor did not have a way to enter the MARC fields. To customize your template, you will need to edit the XML of the template/schema directly to insert these mappings.

If you have not yet created a collection using a template, go to the repository folder on your server, locate the Templates folder and find the XML that relates to the Template you are editing.

If you have already created a collection, the collection schema file is located in the following directory where "LUNA" is the installation directory and "LUNA~1~1" should be replaced by the collection's ID for which they are making the changes.
Any backend changes to the schema file should be followed by restarting Tomcat.
  • No labels