use XML::SAX::Writer;
use XML::TemplateSAX::Buffer;
use XML::TemplateSAX::Cleaner;
-use XML::TemplateSAX::Deferred;
use XML::TemplateSAX::Handler;
package XML::TemplateSAX;
$clean = 1 unless (defined($clean));
my ($cleaner, $filter, $parser);
+ my $str = '';
if ($clean) {
$cleaner = XML::TemplateSAX::Cleaner->new(Handler => $handler);
# FIXME: hardcoding expat = not good?
$parser = XML::SAX::Expat->new(Handler => $filter);
$parser->parse_file($filename);
+
+ return $str;
}
sub process_file {
return $buffer;
}
-sub process_file_to_placeholder {
- my ($filename, $obj, $clean) = @_;
-
- return XML::TemplateSAX::Deferred->new($filename, $obj, $clean);
-}
-
sub alternate {
my ($tag, $array, @elems) = @_;
+++ /dev/null
-#! /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;
if (ref($match) eq 'XML::TemplateSAX::Buffer') {
$match->replay($self);
$self->{'obj'} = undef;
- } elsif (ref($match) eq 'XML::TemplateSAX::Deferred') {
- $match->parse($self);
- $self->{'obj'} = undef;
- } else {
- $self->{'obj'} = $match;
}
+
+ $self->{'obj'} = $match;
return;
}
}
#! /usr/bin/perl
use XML::TemplateSAX;
-my $doc = XML::TemplateSAX::process_file_to_placeholder('../xml/included.xml', {
+my $doc = XML::TemplateSAX::process_file_to_buffer('../xml/included.xml', {
'color' => 'red'
}, 0);
my $master = XML::TemplateSAX::process_file('../xml/master.xml', {