version 1.2, 2004/07/08 21:22:04
|
version 1.4, 2004/07/13 18:32:49
|
Line 8 use strict;
|
Line 8 use strict;
|
|
|
use base qw(XML::SAX::Base); |
use base qw(XML::SAX::Base); |
|
|
use lib '/usr/local/mpiwg/archive_devel'; |
use lib '/usr/local/mpiwg/archive'; |
use MPIWGStor; |
use MPIWGStor; |
|
|
my $debugElem = 0; |
my $debugElem = 0; |
Line 45 sub start_element {
|
Line 45 sub start_element {
|
push @elements, [$elem, "", $currAttrib]; |
push @elements, [$elem, "", $currAttrib]; |
} |
} |
# element name is either LocalName or Name |
# element name is either LocalName or Name |
my $name = $$el{'LocalName'}; |
my $name = $$el{'LocalName'} or $$el{'Name'}; |
$name = $$el{'Name'} unless ($name); |
|
#logger('DEBUG', " name: $name"); |
#logger('DEBUG', " name: $name"); |
# assemble attributes string |
# assemble attributes string |
$currAttrib =""; |
$currAttrib =""; |
foreach my $attr (values %{$$el{'Attributes'}}) { |
foreach my $attr (values %{$$el{'Attributes'}}) { |
my $key = $$attr{'LocalName'}; |
my $key = $$attr{'LocalName'} or $$attr{'Name'}; |
$key = $$attr{'Name'} unless ($key); |
|
my $val = $$attr{'Value'}; |
my $val = $$attr{'Value'}; |
$currAttrib .= "$key=\"$val\" "; |
$currAttrib .= "$key=\"$val\" "; |
} |
} |
Line 68 sub end_element {
|
Line 66 sub end_element {
|
# process element end event |
# process element end event |
logger('DEBUG', "endelem: $self, $$el{'LocalName'}") if ($debugElem); |
logger('DEBUG', "endelem: $self, $$el{'LocalName'}") if ($debugElem); |
# check element name |
# check element name |
my $name = $$el{'LocalName'}; |
my $name = $$el{'LocalName'} or $$el{'Name'}; |
$name = $$el{'Name'} unless ($name); |
|
my $lastag = $currElemPath[$#currElemPath]; |
my $lastag = $currElemPath[$#currElemPath]; |
if ($lastag ne $name) { |
if ($lastag ne $name) { |
logger('ERROR', "closing tag '$lastag' doesn't match '$name'!"); |
logger('ERROR', "closing tag '$lastag' doesn't match '$name'!"); |
Line 94 sub end_element {
|
Line 91 sub end_element {
|
sub characters { |
sub characters { |
my ($self, $char) = @_; |
my ($self, $char) = @_; |
# process character data event |
# process character data event |
logger('DEBUG', "characters: $self, $char") if ($debugElem); |
logger('DEBUG', "characters: $self, $char") if ($debugElem > 1); |
# add to current content |
# add to current content |
$currText .= $$char{'Data'}; |
$currText .= $$char{'Data'}; |
logger('DEBUG', " Text: $currText") if ($debugCont); |
logger('DEBUG', " Text: $currText") if ($debugCont > 1); |
} |
} |
|
|
|
|