diff options
Diffstat (limited to 'lib/Tree/Transform/XSLTish.pm')
-rw-r--r-- | lib/Tree/Transform/XSLTish.pm | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/lib/Tree/Transform/XSLTish.pm b/lib/Tree/Transform/XSLTish.pm index 390616f..8be326d 100644 --- a/lib/Tree/Transform/XSLTish.pm +++ b/lib/Tree/Transform/XSLTish.pm @@ -58,9 +58,9 @@ sub tree_rule { sub _transformer_class { 'Tree::Transform::XSLTish::Transformer' }; sub new_transformer { - my ($rules_package)=@_; + my $rules_package=shift; - return _transformer_class->new(rules_package=>$rules_package); + return _transformer_class->new(rules_package=>$rules_package,@_); } 1; @@ -70,6 +70,34 @@ __END__ Tree::Transform::XSLTish - transform tree data, like XSLT but in Perl +=head1 SYNOPSIS + + package MyTransform; + use Tree::Transform::XSLTish; + + default_rules; + + tree_rule match => 'node[@id=5]', action => sub { + return $_[0]->it->data(); + }; + + package main; + use My::Tree; + + my $tree= My::Tree->new(); + # build something inside the tree + + my ($node5_data)=MyTransform->new->transform($tree); + +=head1 DESCRIPTION + +This module allows you to transform tree with Perl subroutines, just +like XSLT does for XML documents. + +It tries to model as closely as reasonable the semantic of XSLT. + +=head1 REQUIREMENTS + =head1 AUTHOR Gianni Ceccarelli <dakkar@thenautilus.net> |