--- loncom/xml/lonxml.pm 2001/01/06 16:22:55 1.46
+++ loncom/xml/lonxml.pm 2001/01/30 21:01:36 1.49
@@ -24,7 +24,13 @@ sub register {
$Apache::lonxml::alltags{$temptag}=$space;
}
}
-
+
+sub printalltags {
+ my $temp;
+ foreach $temp (sort keys %Apache::lonxml::alltags) {
+ &Apache::lonxml::debug("$temp -- $Apache::lonxml::alltags{$temp}");
+ }
+}
use Apache::style;
use Apache::lontexconvert;
use Apache::run;
@@ -44,10 +50,14 @@ sub xmlparse {
if ($target eq 'meta') {
$Apache::lonxml::textredirection = 0;
$Apache::lonxml::on_offimport = 1;
+ } elsif ($target eq 'grade') {
+ $Apache::lonxml::textredirection = 0;
+ $Apache::lonxml::on_offimport = 0;
} else {
$Apache::lonxml::textredirection = 1;
$Apache::lonxml::on_offimport = 0;
}
+ #&printalltags();
my @pars = ();
@Apache::lonxml::pwd=();
my $pwd=$ENV{'request.filename'};
@@ -110,7 +120,7 @@ sub xmlparse {
#clear out any tags that didn't end
while ($token->[1] ne $stack[$#stack]
&& ($#stack > -1)) {
- &Apache::lonxml::error("Unbalanced tags in resource $stack['-1']");
+ &Apache::lonxml::warning("Unbalanced tags in resource $stack['-1']");
pop @stack;pop @parstack;&decreasedepth($token);
}
@@ -184,7 +194,7 @@ sub recurse {
#clear out any tags that didn't end
while ($tokenpat->[1] ne $innerstack[$#innerstack]
&& ($#innerstack > -1)) {
- &Apache::lonxml::error("Unbalanced tags in resource $innerstack['-1']");
+ &Apache::lonxml::warning("Unbalanced tags in resource $innerstack['-1']");
pop @innerstack;pop @innerparstack;&decreasedepth($tokenpat);
}
$partstring = &callsub("end_$tokenpat->[1]",
@@ -270,7 +280,7 @@ sub decreasedepth {
$Apache::lonxml::olddepth=$Apache::lonxml::depth+1;
}
if ( $Apache::lonxml::depth < -1) {
- &Apache::lonxml::error("Unbalanced tags in resource");
+ &Apache::lonxml::warning("Unbalanced tags in resource");
$Apache::lonxml::depth='-1';
}
my $curdepth=join('_',@Apache::lonxml::depthcounter);
@@ -285,8 +295,9 @@ sub get_all_text {
my $token;
my $result='';
my $tag=substr($tag,1); #strip the / off the tag
-# &Apache::lonxml::debug("have:$tag:");
+ #&Apache::lonxml::debug("have:$tag:");
while (($depth >=0) && ($token = $pars->get_token)) {
+ #&Apache::lonxml::debug("token:$token->[0]:$depth:$token->[1]");
if ($token->[0] eq 'T') {
$result.=$token->[1];
} elsif ($token->[0] eq 'S') {
@@ -300,6 +311,7 @@ sub get_all_text {
}
}
}
+# &Apache::lonxml::debug("Exit:$result:");
return $result
}
@@ -343,7 +355,7 @@ sub handler {
my $request=shift;
my $target='web';
-# $Apache::lonxml::debug=1;
+ $Apache::lonxml::debug=0;
if ($ENV{'browser.mathml'}) {
$request->content_type('text/xml');
} else {
@@ -384,9 +396,11 @@ sub debug {
print "DEBUG:".$_[0]."
\n";
}
}
+
sub error {
-# print "ERROR:".$_[0]."
\n";
+ print "ERROR:".$_[0]."
\n";
}
+
sub warning {
if ($Apache::lonxml::debug eq 1) {
print "WARNING:".$_[0]."
\n";