4 |
use strict; |
use strict; |
5 |
|
|
6 |
use XML::Rules; |
use XML::Rules; |
|
use CWMP::Tree; |
|
7 |
use Data::Dump qw/dump/; |
use Data::Dump qw/dump/; |
8 |
use Carp qw/confess cluck/; |
use Carp qw/confess cluck/; |
9 |
use Class::Trigger; |
use Class::Trigger; |
20 |
|
|
21 |
our $state; # FIXME check this! |
our $state; # FIXME check this! |
22 |
|
|
23 |
my $rules = [ |
our $rules = [ |
24 |
#_default => 'content trim', |
#_default => 'content trim', |
25 |
x_default => sub { |
x_default => sub { |
26 |
my ($tag_name, $tag_hash, $context, $parent_data) = @_; |
my ($tag_name, $tag_hash, $context, $parent_data) = @_; |
124 |
|
|
125 |
=cut |
=cut |
126 |
|
|
127 |
sub parse { |
my $parser = XML::Rules->new( |
|
my $self = shift; |
|
|
|
|
|
my $xml = shift || confess "no xml?"; |
|
|
|
|
|
my $parser = XML::Rules->new( |
|
128 |
# start_rules => [ |
# start_rules => [ |
129 |
# '^division_name,fax' => 'skip', |
# '^division_name,fax' => 'skip', |
130 |
# ], |
# ], |
136 |
'urn:dslforum-org:cwmp-1-0' => '', |
'urn:dslforum-org:cwmp-1-0' => '', |
137 |
}, |
}, |
138 |
rules => $rules, |
rules => $rules, |
139 |
); |
); |
140 |
|
|
141 |
|
sub parse { |
142 |
|
my $self = shift; |
143 |
|
|
144 |
|
my $xml = shift || confess "no xml?"; |
145 |
|
|
146 |
$state = {}; |
$state = {}; |
147 |
|
|