|Welcome to the XMLMARC page
XMLMARC and MARCUTL were designed
for practical use by Lane Medical Library staff; they were also
designed, however, with the hope that they might benefit others
in the library community. Participation in the ongoing development
and improvement of these tools by librarians, programmers, and library
staff is strongly encouraged. If you are not sure of how you can
help, feel free to ask the XMLMARC mailing
list for ideas. If you do not like mailing lists, you may email
A Gentle Introduction: What are XMLMARC and MARCUTL?
XMLMARC is a computer program that converts MARC records into XML. It can also update MARC records, based on plain text processing instructions, and write records to a file in the MARC format. This is useful if, for instance, a library wants to strip all fields of a particular type from any MARC record entering the library catalog, or to add a note to incoming records based on a value in one of the fixed fields. Lane Library does a fair amount of "value added" processing, saving the time of library catalogers. We are also investigating using the XMLMARC program to convert all of our MARC records into XOBIS, a new format for library information.
MARCUTL (the MARC Update and Transformation Language) is a mapping language that converts MARC into XML or MARC into "updated MARC" based on the instructions in a MARCUTL file. These files are expressed in XML and must conform to the MARCUTL schema (currently expressed in the Relax NG XML schema language; previously, we used a DTD to define the processing instructions). MARCUTL provides for several built in methods of updating or transforming MARC records, but it also provides for the creation of special MARC processing classes. These classes implement a particular interface, described in the MARCUTL API (application programming interface), and accept a MedMARC Record as input. MedMARC is a Java API for handling MARC records that was developed by the Medlane project.
Together, XMLMARC and MARCUTL provide for the easy manipulation of a library's MARC records. Unfortunately, since we are in the process of refactoring the XMLMARC programming libraries, the XMLMARC and MARCUTL documentation is a bit skimpy at this point. We are working to add new Javadoc comments so hopefully understanding the program and the MARCUTL language will be easier in the near future. If you would like to assist with documenting MARCUTL, please get in touch with us.
In the meantime, the MARCUTL schema and several example files are available for viewing or downloading from the table on the right of this page. We are in the final process of refactoring the XMLMARC code from the version that was recently mentioned in the book XML in Libraries (that version used a DTD and had a more limited implementation of MARCUTL, as well as an older version of the Medlane MARC API).
If you have any questions or would like more information, feel free to contact us through the XMLMARC mailing list.