package Tools::XSLTester;

use strict;
use warnings;
use Carp;
use URI::Escape;

use lib ('/app/tools/common/lib');
use RSApache::RSApp;
use base 'RSApache::RSApp';

sub execute {
    my $self = shift;

    # --------------------------------------------
    #  Get the command and execute it
    # --------------------------------------------
    my $basedir    = "/app/tools/common/test";
    my $file_name  = $self->GetParam("file");
    my $xml_file   = "$basedir/$file_name.xml";
    my $xsl_file   = "$basedir/$file_name.xsl";
    my $xml_string = "";

    return bail_error("file does not exist: $xml_file\n") if ( !-e $xml_file );
    return bail_error("file does not exist: $xsl_file\n") if ( !-e $xsl_file );

    open XML, "< $xml_file" or return bail_error("couldn't open file $xml_file: $@\n");
    {
        local undef $/;
        $xml_string = <XML>;
    }
    close(XML);

    $self->Stylesheet($xsl_file);
    $self->XMLString($xml_string);

    return 1;

}    # end handler

sub bail_error {
    my $self  = shift;
    my $error = shift;

    $self->RawOutput($error);
    return 1;
}

###
1;    # Play nicely.
###
