projects
/
perl-cwmp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
r266@brr: dpavlin | 2007-11-25 19:50:35 +0100
[perl-cwmp.git]
/
lib
/
CWMP
/
Request.pm
diff --git
a/lib/CWMP/Request.pm
b/lib/CWMP/Request.pm
index
6649688
..
51f70f3
100644
(file)
--- a/
lib/CWMP/Request.pm
+++ b/
lib/CWMP/Request.pm
@@
-126,7
+126,14
@@
push @$rules,
=cut
=cut
-my $parser = XML::Rules->new(
+sub parse {
+ my $self = shift;
+
+ my $xml = shift || confess "no xml?";
+
+ $state = {};
+
+ my $parser = XML::Rules->new(
# start_rules => [
# '^division_name,fax' => 'skip',
# ],
# start_rules => [
# '^division_name,fax' => 'skip',
# ],
@@
-138,16
+145,14
@@
my $parser = XML::Rules->new(
'urn:dslforum-org:cwmp-1-0' => '',
},
rules => $rules,
'urn:dslforum-org:cwmp-1-0' => '',
},
rules => $rules,
-);
+
);
-sub parse {
- my $self = shift;
+ warn "## created $parser\n";
-
my $xml = shift || confess "no xml?"
;
+
$parser->parsestring( $xml )
;
-
$state = {}
;
+
undef $parser
;
- $parser->parsestring( $xml );
if ( my $trigger = $state->{_trigger} ) {
warn "### call_trigger( $trigger )\n";
$self->call_trigger( $trigger, $state );
if ( my $trigger = $state->{_trigger} ) {
warn "### call_trigger( $trigger )\n";
$self->call_trigger( $trigger, $state );