Hi Brian: thanks for writing,

On Mon, Aug 25, 2003 at 04:29:37PM -0300, Brian Cassidy wrote:
> As part of a previous project I was importing MARC records into an RDBMS
> structure. In order to facilitate better searching, it was suggested to
> me that I do some normalization on my data and that NACO normalization
> would be a good choice for guidelines. So, away I went and came back
> with normalize() sub which does the trick.
> 
> I now wonder if this code would have greater utility as a module on
> CPAN. And if I do decide to upload it to CPAN, perhaps a base class
> (Text::Normalize) should be created to which NACO normalization could be
> added as a subclass.

I think this is a great idea. At first I was thinking that it would be nice to
be able to pass your normalize() function a MARC::Record object, which would
magically normalize all the relevant fields (like a good cataloger).  This 
could be a subclass MARC::Record::NACO which adds a new method normalize(),
or if Andy was willing could be added to the MARC::Record core.

However, the docs [1] seem to say that it is only possible to determine how a 
field should normalize in the context of the collection of records that it is a
part of...and that MARC::Record has no way of determining this, so perhaps 
this idea is not on target?

If you would like to contribute your NACO normalization function to cpan (as I
definitely think you should), and my reading of the lc docs are correct, then
I would recommend you add a Text::NACO module.  The Normalize part is a bit 
redundant because all the modules in Text do some kind of normalization. The 
package could export a function normalize() on demand, which you then pass a 
string, and get back the NACO normalized version. You could also add it to the
Biblio namespace as Biblio::NACO, or MARC::NACO, but that's really your call as
the module author :) The main thing is to get it up there somewhere.

Please post to the list if you decide to upload. I'd like to add a section to
the tutorial, and to the perl4lib.perl.org website!

//Ed

[1] http://lcweb.loc.gov/catdir/pcc/naco/normrule.html

Reply via email to