CAM-XML
view release on metacpan or search on metacpan
lib/CAM/XML/XMLTree.pm view on Meta::CPAN
=over
=item Init()
=cut
sub Init
{
my $expat = shift;
$expat->{Stack} = [];
$expat->{Package} = 'CAM::XML';
return;
}
=item Start($tag)
=cut
sub Start
{
my $expat = shift;
my $tag = shift;
my $obj = $expat->{Package}->new($tag, @_);
if (!$expat->{Base})
{
$expat->{Base} = $obj;
}
if (@{ $expat->{Stack} } > 0)
{
$expat->{Stack}->[-1]->add($obj);
}
push @{ $expat->{Stack} }, $obj;
return;
}
=item End($tag)
=cut
sub End
{
my $expat = shift;
my $tag = shift;
pop @{ $expat->{Stack} };
delete $expat->{Cdata};
return;
}
=item Char($text)
=cut
sub Char
{
my $expat = shift;
my $text = shift;
$expat->{Stack}->[-1]
->add(($expat->{Cdata} ? '-cdata' : '-text') => $text);
return;
}
=item CdataStart()
=cut
sub CdataStart
{
my $expat = shift;
$expat->{Cdata} = 1;
return;
}
=item CdataEnd()
=cut
sub CdataEnd
{
my $expat = shift;
delete $expat->{Cdata};
return;
}
=item Final()
=cut
sub Final
{
my $expat = shift;
delete $expat->{Stack};
return delete $expat->{Base};
}
1;
__END__
=back
=head1 AUTHOR
Clotho Advanced Media Inc., I<cpan@clotho.com>
Primary Developer: Chris Dolan
=cut
( run in 1.273 second using v1.01-cache-2.11-cpan-39bf76dae61 )