Diff for /loncom/xml/lonxml.pm between versions 1.47 and 1.50

version 1.47, 2001/01/06 16:52:34 version 1.50, 2001/02/13 00:13:47
Line 24  sub register { Line 24  sub register {
     $Apache::lonxml::alltags{$temptag}=$space;      $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::style;
 use Apache::lontexconvert;  use Apache::lontexconvert;
 use Apache::run;  use Apache::run;
Line 51  sub xmlparse { Line 57  sub xmlparse {
    $Apache::lonxml::textredirection = 1;     $Apache::lonxml::textredirection = 1;
    $Apache::lonxml::on_offimport = 0;     $Apache::lonxml::on_offimport = 0;
  }   }
    #&printalltags();
  my @pars = ();   my @pars = ();
  @Apache::lonxml::pwd=();   @Apache::lonxml::pwd=();
  my $pwd=$ENV{'request.filename'};   my $pwd=$ENV{'request.filename'};
Line 113  sub xmlparse { Line 120  sub xmlparse {
        #clear out any tags that didn't end         #clear out any tags that didn't end
        while ($token->[1] ne $stack[$#stack]          while ($token->[1] ne $stack[$#stack] 
       && ($#stack > -1)) {        && ($#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);   pop @stack;pop @parstack;&decreasedepth($token);
        }         }
                 
Line 187  sub recurse { Line 194  sub recurse {
  #clear out any tags that didn't end   #clear out any tags that didn't end
  while ($tokenpat->[1] ne $innerstack[$#innerstack]    while ($tokenpat->[1] ne $innerstack[$#innerstack] 
        && ($#innerstack > -1)) {         && ($#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);    pop @innerstack;pop @innerparstack;&decreasedepth($tokenpat);
  }   }
  $partstring = &callsub("end_$tokenpat->[1]",   $partstring = &callsub("end_$tokenpat->[1]",
Line 273  sub decreasedepth { Line 280  sub decreasedepth {
     $Apache::lonxml::olddepth=$Apache::lonxml::depth+1;      $Apache::lonxml::olddepth=$Apache::lonxml::depth+1;
   }    }
   if (  $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';      $Apache::lonxml::depth='-1';
   }    }
   my $curdepth=join('_',@Apache::lonxml::depthcounter);    my $curdepth=join('_',@Apache::lonxml::depthcounter);
Line 288  sub get_all_text { Line 295  sub get_all_text {
  my $token;   my $token;
  my $result='';   my $result='';
  my $tag=substr($tag,1); #strip the / off the tag   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)) {   while (($depth >=0) && ($token = $pars->get_token)) {
      #&Apache::lonxml::debug("token:$token->[0]:$depth:$token->[1]");
    if ($token->[0] eq 'T') {     if ($token->[0] eq 'T') {
      $result.=$token->[1];       $result.=$token->[1];
    } elsif ($token->[0] eq 'S') {     } elsif ($token->[0] eq 'S') {
Line 303  sub get_all_text { Line 311  sub get_all_text {
      }       }
    }     }
  }   }
   # &Apache::lonxml::debug("Exit:$result:");
  return $result   return $result
 }  }
   
Line 346  sub handler { Line 355  sub handler {
   my $request=shift;    my $request=shift;
       
   my $target='web';    my $target='web';
 #  $Apache::lonxml::debug=1;    $Apache::lonxml::debug=0;
   if ($ENV{'browser.mathml'}) {    if ($ENV{'browser.mathml'}) {
     $request->content_type('text/xml');      $request->content_type('text/xml');
   } else {    } else {
Line 369  sub handler { Line 378  sub handler {
   
   $request->print('<body bgcolor="#FFFFFF">'."\n");    $request->print('<body bgcolor="#FFFFFF">'."\n");
   
   my $file = "/home/httpd/html".$request->uri;    my $file=&Apache::lonnet::filelocation("",$request->uri);
   my %mystyle;    my %mystyle;
   my $result = '';    my $result = ''; 
   $result = Apache::lonxml::xmlparse($target, &Apache::lonnet::getfile($file),'',%mystyle);    my $filecontents=&Apache::lonnet::getfile($file);
     if ($filecontents == -1) {
       &Apache::lonxml::error("<b> Unable to find <i>$file</i></b>");
       $filecontents='';
     } else {
       $result = &Apache::lonxml::xmlparse($target,$filecontents,'',%mystyle);
     }
   $request->print($result);    $request->print($result);
   
   
   $request->print('</body>');    $request->print('</body>');
   $request->print(&Apache::lontexconvert::footer());    $request->print(&Apache::lontexconvert::footer());
   writeallows($request->uri);    writeallows($request->uri);
Line 387  sub debug { Line 403  sub debug {
     print "DEBUG:".$_[0]."<br>\n";      print "DEBUG:".$_[0]."<br>\n";
   }    }
 }  }
   
 sub error {  sub error {
 #  print "ERROR:".$_[0]."<br>\n";    print "ERROR:".$_[0]."<br>\n";
 }  }
   
 sub warning {  sub warning {
   if ($Apache::lonxml::debug eq 1) {    if ($Apache::lonxml::debug eq 1) {
     print "WARNING:".$_[0]."<br>\n";      print "WARNING:".$_[0]."<br>\n";
Line 398  sub warning { Line 416  sub warning {
   
 1;  1;
 __END__  __END__
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

Removed from v.1.47  
changed lines
  Added in v.1.50


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>