/usr/share/perl5/HTTP/OAI/Set.pm is in libhttp-oai-perl 4.03-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | package HTTP::OAI::Set;
@ISA = qw( HTTP::OAI::MemberMixin XML::SAX::Base );
use strict;
sub setSpec { shift->_elem('setSpec',@_) }
sub setName { shift->_elem('setName',@_) }
sub setDescription { shift->_multi('setDescription',@_) }
sub generate {
my( $self, $driver ) = @_;
$driver->start_element( 'set' );
$driver->data_element( 'setSpec', $self->setSpec );
$driver->data_element( 'setName', $self->setName );
for( $self->setDescription ) {
$_->generate;
}
$driver->end_element( 'set' );
}
sub start_element {
my ($self,$hash,$r) = @_;
my $elem = lc($hash->{Name});
if( $elem eq 'setdescription' ) {
$self->setDescription(my $desc = HTTP::OAI::Metadata->new);
$self->set_handler($desc);
$self->{in_desc} = $hash->{Depth};
}
$self->SUPER::start_element($hash,$r);
}
sub end_element {
my ($self,$hash,$r) = @_;
$self->SUPER::end_element($hash,$r);
if( $self->{in_desc} )
{
if( $self->{in_desc} == $hash->{Depth} )
{
$self->set_handler( undef );
}
}
else
{
my $elem = $hash->{Name};
if( $elem =~ /^setSpec|setName$/ )
{
$self->$elem( $hash->{Text} );
}
}
}
1;
__END__
=head1 NAME
HTTP::OAI::Set - Encapsulates OAI set XML data
=head1 METHODS
=over 4
=item $spec = $s->setSpec([$spec])
=item $name = $s->setName([$name])
These methods return respectively, the setSpec and setName of the OAI Set.
=item @descs = $s->setDescription([$desc])
Returns and optionally adds the list of set descriptions. Returns a reference to an array of L<HTTP::OAI::Description|HTTP::OAI::Description> objects.
=back
|