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++;
        }
}



Reply via email to