#!perl use strict; use warnings; use XML::LibXML; use XML::LibXSLT; my ( $sourcefile, $stylefile ) = @ARGV; # Create an XML parser my $p = XML::LibXML->new; my $xml_source = $p->parse_file($sourcefile); # Create an XSLT engine my $s = XML::LibXSLT->new; #$s->debug_callback(sub {warn @_}); my $stylexml = $p->parse_file($stylefile); my $stylesheet = $s->parse_stylesheet($stylexml); my $transformed = $stylesheet->transform($xml_source) or die "Transformation lost it on $_"; # Generate the output my $output = $stylesheet->output_string($transformed); print $output;