1# $Id: /mirror/gungho/lib/Gungho/Plugin/Statistics/Format/XML.pm 4238 2007-10-29T15:08:17.605700Z lestrrat  $
2
3package Gungho::Plugin::Statistics::Format::XML;
4use strict;
5use warnings;
6use base qw(Gungho::Base);
7use XML::LibXML;
8
9sub format
10{
11    my ($self, $storage, $output) = @_;
12
13    $output ||= \*STDOUT;
14
15    my $doc = XML::LibXML::Document->new("1.0", "UTF-8");
16    my $root = $doc->createElement('GunghoStatstics');
17    $doc->setDocumentElement( $root );
18
19    my $parent = $root;
20    foreach my $name qw(active_requests finished_requests) {
21        my $tag = $name;
22        $tag =~ s/(?:\b|_)(.)/uc $1/ge;
23        my $el = $doc->createElement($tag);
24        my $value = $storage->get($name);
25        if (defined $value) {
26            $el->appendText($value);
27        }
28        $parent->appendChild($el);
29    }
30
31    print $output $doc->toString();
32}
33
341;
35
36__END__
37
38=head1 NAME
39
40Gungho::Plugin::Statistics::Format::XML - Format Statistics As XML
41
42=head1 METHODS
43
44=head2 format
45
46=cut
47
48