]> git.sesse.net Git - xml-template/blobdiff - perl-sax/XML/TemplateSAX/Deferred.pm
Add deferred parsing for perl-sax. Doesn't work yet, though, so it uses
[xml-template] / perl-sax / XML / TemplateSAX / Deferred.pm
diff --git a/perl-sax/XML/TemplateSAX/Deferred.pm b/perl-sax/XML/TemplateSAX/Deferred.pm
new file mode 100644 (file)
index 0000000..6ed9d3e
--- /dev/null
@@ -0,0 +1,31 @@
+#! /usr/bin/perl
+
+use strict;
+use warnings;
+use XML::TemplateSAX;
+use Data::Dumper;
+package XML::TemplateSAX::Deferred;
+
+sub new {
+       my $class = shift;
+       my ($filename, $obj, $clean) = @_;
+
+       my $self = {
+               filename => $filename,
+               obj => $obj,
+               clean => $clean
+       };
+       bless($self, $class);
+       return $self;
+}
+
+sub parse {
+       my ($self, $handler) = @_;
+
+       my $buf = XML::TemplateSAX::process_file_to_buffer($self->{'filename'}, $self->{'obj'}, $self->{'clean'});
+       $buf->replay($handler);
+       
+       # XML::TemplateSAX::process_file_to_handler($self->{'filename'}, $handler, $self->{'obj'}, $self->{'clean'});
+}
+
+1;