Hi all, I would like to make a feed to return oai_dc. Has anyone done this yet? Do I use the loc version or openarchives
http://www.loc.gov/standards/marcxml/ or from http://open-ils.org/dokuwiki/doku.php?id=backend-devel:supercat:examples <format> <name>oai_dc</name> <type>application/xml</type> <namespace_uri>http://www.openarchives.org/OAI/2.0/oai_dc/</namespace_uri> <schema_location>http://www.openarchives.org/OAI/2.0/oai_dc.xsd</schema_location> </format> And how would I integrate it into Feed.pm? Thanks Grant ____________ MODS3 Example below ________________________ package OpenILS::WWW::SuperCat::Feed::mods3; use base 'OpenILS::WWW::SuperCat::Feed::mods'; sub new { my $class = shift; my $self = $class->SUPER::build('<mods:modsCollection version="3.0" xmlns:mods="http://www.loc.gov/mods/v3"/>'); $self->{type} = 'application/xml'; $self->{item_xpath} = '/mods:modsCollection'; return $self; } package OpenILS::WWW::SuperCat::Feed::mods3::item; use base 'OpenILS::WWW::SuperCat::Feed::mods::item'; sub new { my $class = shift; my $xml = shift; my $self = $class->SUPER::build($xml); $self->{doc}->documentElement->setNamespace('http://www.loc.gov/mods/v3', undef); $self->{doc}->documentElement->setNamespace('http://www.loc.gov/mods/v3', 'mods'); $self->{type} = 'application/xml'; $self->{holdings_xpath} = '/mods:mods'; return $self; } sub link { my $self = shift; my $type = shift; my $id = shift; if ($type eq 'unapi' || $type eq 'opac') { $self->_create_node( 'mods:mods', 'http://www.loc.gov/mods/v3', 'mods:relatedItem', undef, { type => 'otherFormat', id => 'link-'.$linkid } ); $self->_create_node( "mods:mods/mods:[EMAIL PROTECTED]'link-$linkid']", 'http://www.loc.gov/mods/v3', 'mods:recordIdentifier', $id ); $linkid++; } }
