summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGianni Ceccarelli <dakkar@dechirico.(none)>2009-04-29 15:53:30 +0200
committerGianni Ceccarelli <dakkar@dechirico.(none)>2009-04-29 15:53:30 +0200
commitb7a218903103b5f32360dce11523b76c6b5de5ae (patch)
tree0c188c3504c941769b843be2a8c4541538e51367 /lib
parentupdated dependencies, removed work-arounds (diff)
downloadTree-Transform-XSLTish-b7a218903103b5f32360dce11523b76c6b5de5ae.tar.gz
Tree-Transform-XSLTish-b7a218903103b5f32360dce11523b76c6b5de5ae.tar.bz2
Tree-Transform-XSLTish-b7a218903103b5f32360dce11523b76c6b5de5ae.zip
hopefully fixed P::C tests, and upped version
Diffstat (limited to 'lib')
-rw-r--r--lib/Tree/Transform/XSLTish.pm20
-rw-r--r--lib/Tree/Transform/XSLTish/Context.pm2
-rw-r--r--lib/Tree/Transform/XSLTish/Transformer.pm6
-rw-r--r--lib/Tree/Transform/XSLTish/Utils.pm2
4 files changed, 22 insertions, 8 deletions
diff --git a/lib/Tree/Transform/XSLTish.pm b/lib/Tree/Transform/XSLTish.pm
index 42b7222..9c4b1ec 100644
--- a/lib/Tree/Transform/XSLTish.pm
+++ b/lib/Tree/Transform/XSLTish.pm
@@ -8,7 +8,7 @@ use Tree::Transform::XSLTish::Transformer;
use Carp::Clan qw(^Tree::Transform::XSLTish);
use v5.8;
-our $VERSION='0.1';
+our $VERSION='0.2';
my @DEFAULT_EXPORTS=('tree_rule',
'default_rules',
@@ -270,6 +270,24 @@ and specify another one).
This module uses L<Sub::Exporter>, see that module's documentation for
things like renaming the imports.
+=head1 KNOWN BUGS & ISSUES
+
+=over 4
+
+=item *
+
+It's I<slow>. Right now each rule application is linear in the number
+of defined rules I<times> the depth of the node being
+transformed. There are several ways to optimize this for most common
+cases (patches welcome), but I prefer to "make it correct, before
+making it fast"
+
+=item *
+
+Some sugaring with L<Devel::Declare> could make everything look better
+
+=back
+
=head1 AUTHOR
Gianni Ceccarelli <dakkar@thenautilus.net>
diff --git a/lib/Tree/Transform/XSLTish/Context.pm b/lib/Tree/Transform/XSLTish/Context.pm
index 96670ec..bb7c9de 100644
--- a/lib/Tree/Transform/XSLTish/Context.pm
+++ b/lib/Tree/Transform/XSLTish/Context.pm
@@ -2,7 +2,7 @@ package Tree::Transform::XSLTish::Context;
use Moose;
use Carp::Clan qw(^Tree::Transform::XSLTish);
-our $VERSION='0.1';
+our $VERSION='0.2';
has 'current_node' => ( is => 'rw', isa => 'Object' );
has 'node_list' => ( is => 'rw', isa => 'ArrayRef[Object]' );
diff --git a/lib/Tree/Transform/XSLTish/Transformer.pm b/lib/Tree/Transform/XSLTish/Transformer.pm
index 0d241e4..a36bd6a 100644
--- a/lib/Tree/Transform/XSLTish/Transformer.pm
+++ b/lib/Tree/Transform/XSLTish/Transformer.pm
@@ -8,7 +8,7 @@ use Tree::Transform::XSLTish::Context;
use Tree::XPathEngine;
use Carp::Clan qw(^Tree::Transform::XSLTish);
-our $VERSION='0.1';
+our $VERSION='0.2';
subtype 'Tree::Transform::XSLTish::Engine'
=> as 'Object'
@@ -238,10 +238,6 @@ If you don't specify an C<engine>, it will be constructed using the
class or factory declared in the rules package; if you didn't declare
anything, it will be an instance of L<Tree::XPathEngine>.
-=for comment
-
-engine factories are not inherited!
-
=head2 C<transform>
@results=$trans->transform($tree);
diff --git a/lib/Tree/Transform/XSLTish/Utils.pm b/lib/Tree/Transform/XSLTish/Utils.pm
index 8546919..c760585 100644
--- a/lib/Tree/Transform/XSLTish/Utils.pm
+++ b/lib/Tree/Transform/XSLTish/Utils.pm
@@ -3,7 +3,7 @@ use strict;
use warnings;
use Class::MOP;
-our $VERSION='0.1';
+our $VERSION='0.2';
my $RULES_NAME='%_tree_transform_rules';