diff options
author | Gianni Ceccarelli <dakkar@dechirico.(none)> | 2009-03-20 15:13:59 +0100 |
---|---|---|
committer | Gianni Ceccarelli <dakkar@dechirico.(none)> | 2009-03-20 15:13:59 +0100 |
commit | 92f310bf8712f12dbc3717b2529df4694a073310 (patch) | |
tree | 0fb10a2e6bd7a3919395a6b66a4b6a883e6bdf14 /lib/Tree/Transform/XSLTish.pm | |
parent | renaming merge (diff) | |
download | Tree-Transform-XSLTish-92f310bf8712f12dbc3717b2529df4694a073310.tar.gz Tree-Transform-XSLTish-92f310bf8712f12dbc3717b2529df4694a073310.tar.bz2 Tree-Transform-XSLTish-92f310bf8712f12dbc3717b2529df4694a073310.zip |
it's now possible to change the XPath engine for each transformer
added a test that uses XML::XPathEngine and HTML::TreeBuilder::XPath
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> |