Rechercher une page de manuel
Embperl::Recipe.3pm
Langue: en
Version: 2006-01-06 (mandriva - 22/10/07)
Section: 3 (Bibliothèques de fonctions)
Sommaire
NAME
Embperl base class for defining custom recipesSYNOPSIS
EMBPERL_RECIPE "XSLT Embperl"
DESCRIPTION
Embperl::Recipe provides basic features that are necessary for createing your own recipes. To do so you have to create a class that provides a "get_recipe" method which returns a array reference that contains the description what to do.get_recipe ($class, $r, $recipe)
get_recipe ($class, $r, $recipe)
- $class
- The class name
- $r
- The Embperl request record object (Embperl::Req), maybe a derived object when running under EmbperlObject.
- $recipe
- The name of the recipe
The function must return an array that describes the desired action. The array contains a tree structure of providers.
Providers
- file
- read file data
Parameter:
-
- filename
- Gives the file to read
-
- memory
- get data from a scalar
Parameter:
-
- source
- Gives the source as a scalar reference
- name
- Gives the name under which this item should be cache
-
- epparse
- parse file into a Embperl tree structure
Parameter:
-
- source
- Gives the source
- syntax
- Syntax to use
-
- epcompile
- compile Embperl tree structure
Parameter:
-
- source
- Gives the source
-
- eprun
- execute Embperl tree structure
Parameter:
-
- source
- Gives the source
- cache_key
- See description of cacheing
- cache_key_options
- See description of cacheing
- cache_key_func
- See description of cacheing
-
- eptostring
- convert Embperl tree structure to string
Parameter:
-
- source
- Gives the source
-
- libxslt-parse-xml
- parse xml source for libxslt
Parameter:
-
- source
- Gives the xml source
-
- libxslt-compile-xsl
- parse and compile stylesheet for libxslt
Parameter:
-
- stylesheet
- Gives the stylesheet source
-
- libxslt
- do a xsl transformation via libxslt
Parameter:
-
- source
- Gives the parsed xml source
- stylesheet
- Gives the compiled stylesheet source
- param
- Gives the parameters as hash ref
-
- xalan-parse-xml
- parse xml source for xalan
Parameter:
-
- source
- Gives the xml source
-
- xalan-compile-xsl
- parse and compile stylesheet for xalan
Parameter:
-
- stylesheet
- Gives the stylesheet source
-
- xalan
- do a xsl transformation via xalan
Parameter:
-
- source
- Gives the parsed xml source
- stylesheet
- Gives the compiled stylesheet source
- param
- Gives the parameters as hash ref
-
Cache parameter
- expires_in
- expires_func
- expires_filename
- cache
Format
Heres an example that show how the recipe must be build:
sub get_recipe
{ my ($class, $r, $recipe) = @_ ;
my $param = $r -> component -> param ; my @recipe ;
push @recipe, {'type' => 'file' } ; push @recipe, {'type' => 'epparse' } ; push @recipe, {'type' => 'epcompile', cache => 1 } ; push @recipe, {'type' => 'eprun' } ;
my $config = $r -> component -> config ; my $xsltproc = $config -> xsltproc ;
my @stylesheet = ( { type => 'file', filename => $config -> xsltstylesheet, }, { type => $xsltproc . '-compile-xsl', cache => 1 }, ) ;
push @recipe, {'type' => 'eptostring' } ; push @recipe, {'type' => $xsltproc . '-parse-xml', } ; push @recipe, {'type' => $xsltproc, stylesheet => \@stylesheet } ;
return \@recipe ; }
This corresponds to the following diagramm (when xsltproc = xalan):
+-------------------+ +--------------------+ + file {inputfile} + +file{xsltstylesheet}+ +-------------------+ +--------------------+ | | v v +-------------------+ +-------------------+ + xalan-parse-xml + + xalan-compile-xsl + +-------------------+ +-------------------+ | | | | | +-----------+ | +-------> + xalan + <-+ +-----------+
Take a look at the recipes that comes with Embperl to get more ideas what can be done.
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre