That's very useful - thanks for that! Anne
On 10 January 2013 14:16, Bill Erickson <[email protected]> wrote: > > On Wed, Jan 9, 2013 at 11:08 AM, Anne Murray > <[email protected]>wrote: > >> I am trying to overlay full marc records for DVDs on to a short record. >> The short record has the UPC in field 020 and the proper record has it in >> field 024. Is it possible to write a match set that will overlay this, or >> is it the case that only 020 can overwrite 020 and nothing else? >> > > Hi Anne, > > Out of the box, this is not possible, since match sets are designed to > compare apples to apples. However, and this is a long shot, with some > configuration and record re-indexing it may be possible, given the right > kind of data. > > You would have to create a new record attribute definition (admin -> > server admin -> marc record attributes) to extract values from both 020 and > 024 fields using XPATH. > > E.g. > > name = isbn-or-upc > format = marcxml > xpath = //marc:datafield[@tag='020' or @tag='024']/marc:subfield[@code='a' > or @code='z'] > (change to suit) > > After this, you would have to re-index your bib records (or optionally > update the values for this specific record attribute). > > When building your match set, you would add a match for your new > isbn-or-upc record attribute instead of using 020 or 024 directly. The > match set will then compare the values of both fields combined. I'm fairly > certain this will only work, though, if the records that should match > contain exactly one value for either 020 or 024 and not both or multiples > of each. The combined values of both fields across both records have to > match. This is may be too rigid for your use case. > > Hope this helps. > > -b > > -- > Bill Erickson > | Senior Software Developer > | phone: 877-OPEN-ILS (673-6457) > | email: [email protected] > | web: http://esilibrary.com > | Equinox Software, Inc. / Your Library's Guide to Open Source > >
