File Coverage

blib/lib/HTTP/OAI/ListMetadataFormats.pm
Criterion Covered Total %
statement 18 18 100.0
branch 7 8 87.5
condition n/a
subroutine 4 4 100.0
pod 3 3 100.0
total 32 33 96.9


line stmt bran cond sub pod time code
1             package HTTP::OAI::ListMetadataFormats;
2              
3             @ISA = qw( HTTP::OAI::PartialList );
4              
5 11     11   72 use strict;
  11         26  
  11         2791  
6              
7             our $VERSION = '4.13';
8              
9 3     3 1 29 sub metadataFormat { shift->item(@_) }
10              
11             sub start_element {
12 9     9 1 90 my ($self,$hash,$r) = @_;
13 9 100       26 if( !$self->{'in_mdf'} ) {
14 3 100       16 if( lc($hash->{LocalName}) eq 'metadataformat' ) {
15 2         15 $self->set_handler(my $mdf = HTTP::OAI::MetadataFormat->new);
16 2         38 $self->metadataFormat($mdf);
17 2         5 $self->{'in_mdf'} = $hash->{Depth};
18             }
19             }
20 9         25 $self->SUPER::start_element($hash,$r);
21             }
22              
23             sub end_element {
24 9     9 1 75 my ($self,$hash,$r) = @_;
25 9         35 $self->SUPER::end_element($hash,$r);
26 9 100       31 if( $self->{'in_mdf'} == $hash->{Depth} ) {
27 2 50       9 if( lc($hash->{LocalName}) eq 'metadataformat' ) {
28 2         9 HTTP::OAI::Debug::trace( "metadataFormat: " . $self->get_handler->metadataPrefix );
29 2         15 $self->set_handler( undef );
30 2         34 $self->{'in_mdf'} = 0;
31             }
32             }
33             }
34              
35             1;
36              
37             __END__