Re: passing records from OAI-Harvester to MARC-Record

[email protected] (josh santelli)
Newsgroups perl.perl4lib
Message-ID <[email protected]>
Mike,

I think Ed Summers' message (from Dec. 17th) on the code4lib mailing  
list might be helpful or relevant:

     http://serials.infomotions.com/code4lib/archive/2007/200712/

I'm not familiar with these perl modules. -- If I want to try  
something out I tend to use a pared down version of my OaiList.pl  
script that I keep which is part of our OAI Toolkit:

     http://sourceforge.net/projects/umoaitoolkit/

This script just uses XML::LibXML to parse the records that are  
harvested and, in the released version, writes the records to a file.   
Instead of writing the file you can just:

     my $marcxml = $recordNode->toString(1);
     my $record   = MARC::Record->new_from_xml( $marcxml );

... and add your "good stuff" to that script.


Josh



On Apr 21, 2008, at 3:46 PM, KREYCHE, MICHAEL wrote:

> I'm trying something a little new for me and, as usual, the first time
> is the hardest. I'm harvesting MARC records from a repository and want
> to modify them. In the past I've used LWP to retrieve raw XML, parsed
> it, and turned it into a MARC structure. Now I'm trying to do things  
> the
> "right" way.
>
> Once I've got a MARCXML record object, it seems to me there ought to  
> be
> a simple way to turn it into a string and grab it, something like  
> this:
>
> $results = $harvester->listAllRecords( metadataPrefix => 'marc21'
> );
> while ( my $data = $results->next() ) {
> 	my $header = $data->header();
> 	my $metadata = $data->metadata();
> 	my $marcxml = ... missing link is here ...
> 	my $record = MARC::Record->new_from_xml( $marcxml );
> 	... good stuff goes here ...
> }
>
> Or maybe there's a more direct way. Anyhow, I've looked around a bit  
> and
> haven't figured out a solution, so I would be greatly obliged if  
> someone
> could point me in the right direction.
>
> TIA,
> Mike
> --
> Michael Kreyche
> Systems Librarian / Associate Professor
> Libraries and Media Services
> Kent State University
> 330-672-1918
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.