| Embperl documentation | Contained in the Embperl distribution. |
Embperl::Recipe::EmbperlXSLT
This recipe does an XSLT transformation after normal Embperl processing.
G. Richter (richter@dev.ecos.de)
Embperl::Recipe (EmbperlRecipe.pod)
Embperl::Recipe::XSLT (XSLT.pod in EmbperlRecipe)
| Embperl documentation | Contained in the Embperl distribution. |
################################################################################### # # Embperl - Copyright (c) 1997-2010 Gerald Richter / ECOS # # You may distribute under the terms of either the GNU General Public # License or the Artistic License, as specified in the Perl README file. # # THIS PACKAGE IS PROVIDED 'AS IS' AND WITHOUT ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. # # $Id: EmbperlXSLT.pm 294769 2005-08-13 19:43:05Z richter $ # ################################################################################### package Embperl::Recipe::EmbperlXSLT ; use strict ; use vars qw{@ISA} ; use Embperl::Recipe::Embperl ; @ISA = ('Embperl::Recipe::Embperl') ; # --------------------------------------------------------------------------------- # # Create a new recipe by converting request parameter # # --------------------------------------------------------------------------------- sub get_recipe { my ($class, $r, $recipe, $src, $syntax) = @_ ; my $ep = Embperl::Recipe::Embperl -> get_recipe ($r, $recipe, $src, $syntax) ; my $param = $r -> component -> param ; return $ep if ($param -> import >= 0) ; my $config = $r -> component -> config ; my $xsltproc = $config -> xsltproc ; my @stylesheet = ( { type => 'file', filename => $config -> xsltstylesheet, }, { type => $xsltproc . '-compile-xsl', cache => 1 }, ) ; push @$ep, {'type' => 'eptostring' } ; push @$ep, {'type' => $xsltproc . '-parse-xml', } ; push @$ep, {'type' => $xsltproc, stylesheet => \@stylesheet, $param -> xsltparam?(): (param => { map { my $v = $Embperl::fdat{$_} ; $v =~ s/\'/'/g ; ($_ => "'$v'") } keys %Embperl::fdat }) } ; return $ep ; } 1 ; __END__