eval 'exec /usr/local/bin/perl -S $0 ${1+"$@"}'
    if 0;

# ---------------------------------------------

use vars qw(%startsub, %endsub);

%startsub = (
"machine"   =>  "<hr><p>",
"code"      =>  "<h2>",
"type"      =>  "<h3>",
"load"      =>  "<b>Load:</b>",
"summary"   =>  "<br><b>Summary:</b>",
"usage"     =>  "<br>&nbsp;&nbsp;<font size=\"+0\"><b>Usage:</b>&nbsp;<i>",
"queues"    =>  "<br><p><font size=\"+2\">-------> TOTAL Queue ",
"queue"     =>  "<br><b>Queue:</b>&nbsp;&nbsp;<font color=\"red\">"
);

%endsub = (
"machine"   =>  "",
"code"      =>  "</h2>",
"type"      =>  "</h3>",
"load"      =>  "",
"summary"   =>  "",
"usage"     =>  "</font></i>",
"queues"    =>  "</font><br>",
"queue"     =>  "</font>"
);

# ---------------------------------------------

use XML::Parser;

my $file = shift;

my $parser = new XML::Parser(ErrorContext => 2);
$parser->setHandlers(Start => \&start_handler,
                     End   => \&end_handler,
		     Char  => \&char_handler);

$parser->parsefile($file);

# ---------------------------------------------
#
# The handlers for the XML Parser.
#

sub start_handler
{
    my $expat = shift; my $element = shift;

    # element is the name of the tag

    print $startsub{$element};

    # Handle the attributes
    while (@_) {
	my $att = shift;
	my $val = shift;
	print "$att=$val ";
    }

}

sub end_handler
{
    my $expat = shift; my $element = shift;
    print $endsub{$element};
}


sub char_handler
{
    my ($p, $data) = @_;
    print $data;
}
