File Coverage

blib/lib/HTTP/OAI/ListIdentifiers.pm
Criterion Covered Total %
statement 13 14 92.8
branch 5 6 83.3
condition 6 9 66.6
subroutine 4 4 100.0
pod 3 3 100.0
total 31 36 86.1


line stmt bran cond sub pod time code
1             package HTTP::OAI::ListIdentifiers;
2              
3             @ISA = qw( HTTP::OAI::PartialList );
4              
5 11     11   74 use strict;
  11         24  
  11         2718  
6              
7             our $VERSION = '4.13';
8              
9 1     1 1 5 sub identifier { shift->item(@_) }
10              
11             sub start_element
12             {
13 13     13 1 111 my ($self,$hash, $r) = @_;
14              
15 13 100 66     37 if( $hash->{Depth} == 3 && $hash->{LocalName} eq "header" )
16             {
17 2         13 $self->set_handler(HTTP::OAI::Header->new);
18             }
19              
20 13         80 $self->SUPER::start_element($hash, $r);
21             }
22              
23             sub end_element {
24 13     13 1 101 my ($self,$hash, $r) = @_;
25              
26 13         39 $self->SUPER::end_element($hash);
27              
28             # OAI 1.x
29 13 50 66     87 if( $hash->{Depth} == 3 && $hash->{LocalName} eq "identifier" )
    100 66        
30             {
31             $r->callback(HTTP::OAI::Header->new(
32             identifier=>$hash->{Text},
33 0         0 datestamp=>'0000-00-00',
34             ));
35             }
36             elsif( $hash->{Depth} == 3 && $hash->{LocalName} eq "header" )
37             {
38 2         11 $r->callback( $self->get_handler, $self );
39 2         7 $self->set_handler( undef );
40             }
41             }
42              
43             1;
44              
45             __END__