Prologue

After having used the doctype USMARC for a while now I have discovered that the indexing support for Marc record is not very fine grained. Specifically I needed the following functionality

Datastructure

I have therefore modified the ParseRecord function in the USMARC doctype to use a data structure like this to determine what gets indexed and under what name:

ParseEntry ParseData[] = {
  { "010", "**", "*", "lccn" },
  { "020", "**", "*", "isbn" },
  { "022", "**", "*", "issn" },
  { "082", "**", "*", "dewey" },
  { "100", "**", "*", "author" },
  { "24*", "**", "*", "title" },
  { "260", "**", "*", "publisher" },
  { "500", "**", "*", "note" },
  { "700", "**", "*", "author" }
};

In this data structure the first field matches the marc field, the second field matches the subfield and the third field the MarcTag and the fourth fied the name. The * means match any digit.

Changes

The reason why I would like to move to a datastructure instead of the current format, which is a function, is:

Download

usmarc.cxx
usmarc.hxx

Contact information

For additional information please email me at blt4@cornell.edu.