summaryrefslogtreecommitdiff
path: root/lib/Tree/Transform/XSLTish.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Tree/Transform/XSLTish.pm')
-rw-r--r--lib/Tree/Transform/XSLTish.pm32
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>