--- loncom/xml/lonxml.pm 2000/11/06 18:42:38 1.35
+++ loncom/xml/lonxml.pm 2000/11/14 22:24:38 1.38
@@ -60,6 +60,7 @@ sub xmlparse {
# $safeeval->deny(":base_orig");
$safeinit .= ';$external::target='.$target.';';
$safeinit .= ';$external::randomseed='.&Apache::lonnet::rndseed().';';
+ $safeinit .= &Apache::lonnet::getfile('/home/httpd/html/res/adm/includes/default_xml.lcpm');
&Apache::run::run($safeinit,$safeeval);
#-------------------- Redefinition of the target in the case of compound target
@@ -239,22 +240,24 @@ sub initdepth {
sub increasedepth {
my ($token) = @_;
- if ($Apache::lonxml::depth<$Apache::lonxml::olddepth-1) {
- $#Apache::lonxml::depthcounter--;
- $Apache::lonxml::olddepth=$Apache::lonxml::depth;
- }
$Apache::lonxml::depth++;
-# print "
s $Apache::lonxml::depth : $Apache::lonxml::olddepth : $token->[1]
\n";
$Apache::lonxml::depthcounter[$Apache::lonxml::depth]++;
if ($Apache::lonxml::depthcounter[$Apache::lonxml::depth]==1) {
$Apache::lonxml::olddepth=$Apache::lonxml::depth;
}
+# my $curdepth=join('_',@Apache::lonxml::depthcounter);
+# print "
s $Apache::lonxml::depth : $Apache::lonxml::olddepth : $curdepth : $token->[1]
\n";
}
sub decreasedepth {
my ($token) = @_;
$Apache::lonxml::depth--;
-# print "
e $Apache::lonxml::depth : $Apache::lonxml::olddepth : $token->[1]
\n";
+ if ($Apache::lonxml::depth<$Apache::lonxml::olddepth-1) {
+ $#Apache::lonxml::depthcounter--;
+ $Apache::lonxml::olddepth=$Apache::lonxml::depth+1;
+ }
+# my $curdepth=join('_',@Apache::lonxml::depthcounter);
+# print "
e $Apache::lonxml::depth : $Apache::lonxml::olddepth : $token->[1] : $curdepth
\n";
}
sub get_all_text {
@@ -274,7 +277,9 @@ sub get_all_text {
} elsif ($token->[0] eq 'E') {
if ( $token->[1] eq $tag) { $depth--; }
#skip sending back the last end tag
- if ($depth > -1) { $result.=$token->[2]; }
+ if ($depth > -1) { $result.=$token->[2]; } else {
+ $pars->unget_token($token);
+ }
}
}
return $result