Diff for /loncom/xml/style.pm between versions 1.10 and 1.17

version 1.10, 2001/03/26 17:32:30 version 1.17, 2003/06/09 21:46:11
Line 1 Line 1
 # The LearningOnline Network with CAPA  # The LearningOnline Network with CAPA
 # Style Parser Module (new version)  # Style Parser Module (new version)
 #  #
   # $Id$
   #
   # Copyright Michigan State University Board of Trustees
   #
   # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
   #
   # LON-CAPA is free software; you can redistribute it and/or modify
   # it under the terms of the GNU General Public License as published by
   # the Free Software Foundation; either version 2 of the License, or
   # (at your option) any later version.
   #
   # LON-CAPA is distributed in the hope that it will be useful,
   # but WITHOUT ANY WARRANTY; without even the implied warranty of
   # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   # GNU General Public License for more details.
   #
   # You should have received a copy of the GNU General Public License
   # along with LON-CAPA; if not, write to the Free Software
   # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   #
   # /home/httpd/html/adm/gpl.txt
   #
   # http://www.lon-capa.org/
   #
   # Copyright for TtHfunc and TtMfunc by Ian Hutchinson. 
   # TtHfunc and TtMfunc (the "Code") may be compiled and linked into 
   # binary executable programs or libraries distributed by the 
   # Michigan State University (the "Licensee"), but any binaries so 
   # distributed are hereby licensed only for use in the context
   # of a program or computational system for which the Licensee is the 
   # primary author or distributor, and which performs substantial 
   # additional tasks beyond the translation of (La)TeX into HTML.
   # The C source of the Code may not be distributed by the Licensee
   # to any other parties under any circumstances.
   #
 # written 01/08/01 by Alexander Sakharuk  # written 01/08/01 by Alexander Sakharuk
 #  #
   
Line 42  sub styleparser { Line 77  sub styleparser {
  if ($stoken->[0] eq 'T') {   if ($stoken->[0] eq 'T') {
     $current_value .= $stoken->[1];      $current_value .= $stoken->[1];
  } elsif ($stoken->[0] eq 'S') {   } elsif ($stoken->[0] eq 'S') {
     my $number = &testkey($stoken->[0],$stoken->[1],@keys);      my $number=-1;
       if ($stoken->[1] ne "$current_key") {
    $number = &testkey($stoken->[0],$stoken->[1],@keys);
       }
     if ($number != -1) {      if ($number != -1) {
  $current_value .= &testvalue($number,$stoken->[0],$stoken->[2],@values);   $current_value .= &testvalue($number,$stoken->[0],$stoken->[2],@values);
     } else {      } else {
  $current_value .= $stoken->[4];   $current_value .= $stoken->[4];
     }       }
         } else {          } else {
     my $number = &testkey($stoken->[0],$stoken->[1],@keys);      my $number=-1;
       if (('/'.$stoken->[1]) ne "$current_key") {
    $number = &testkey($stoken->[0],$stoken->[1],@keys);
       }
     if ($number != -1) {      if ($number != -1) {
  $current_value .= &testvalue($number,$stoken->[0],$stoken->[2],@values);   $current_value .= &testvalue($number,$stoken->[0],$stoken->[2],@values);
     } else {      } else {
  $current_value .= $stoken->[2];   $current_value .= $stoken->[2];
     }       }
         }          }
       }
   
   
     }   
  }   }
         $current_value =~ s/\n//g;          $current_value =~ s/\n//g;
  push @values,$current_value;  ###########
 # &Apache::lonxml::debug("a:$current_value $#values \n");  # $current_value =~ s/^\s*//g;
   # $current_value =~ s/\s*$//g;
   # $current_value =~ s/\( (\w)/($1/g;
   ###########
    if ($current_value) {
       push(@values,$current_value);
       #&Apache::lonxml::debug("a:$current_value: $#values \n");
    } else {
       pop(@keys);
    }
  $current_key = '';   $current_key = '';
  $current_value ='';   $current_value ='';
  $b_pos = index($content_style_string,'<definetag',$b_pos+1);   $b_pos = index($content_style_string,'<definetag',$b_pos+1);
     }      }
   
     for (my $i=0; $i<=$#keys; $i++) {      for (my $i=0; $i<=$#keys; $i++) {
  push @style_array,lc $keys[$i],$values[$i];    push @style_array,$keys[$i],$values[$i]; 
     }      }
     my %style_for_target =  @style_array;      my %style_for_target =  @style_array;
   
 # check printing  # check printing
     foreach $current_key (sort keys %style_for_target) {  #    foreach $current_key (sort keys %style_for_target) {
  &Apache::lonxml::debug("$current_key => $style_for_target{$current_key}\n");  # &Apache::lonxml::debug("$current_key => $style_for_target{$current_key}\n");
     }  #    }
 # return result  # return result
   return %style_for_target;     return %style_for_target; 
   
Line 110  sub testvalue { Line 156  sub testvalue {
     my ($number,$zeroth,$second,@values) = @_;         my ($number,$zeroth,$second,@values) = @_;   
     my $current_content = $values[$number];      my $current_content = $values[$number];
     if ($zeroth eq 'S') {      if ($zeroth eq 'S') {
     my %tempo_hash = %$second;   my %tempo_hash = %$second;
     while ((my $current_k,my $current_v) = each %tempo_hash) {   while ((my $current_k,my $current_v) = each %tempo_hash) {
         $current_content =~ s/\$$current_k/$current_v/g;      $current_content =~ s/\$$current_k/$current_v/g;
     }   }
     } elsif ($zeroth eq 'E') {      } elsif ($zeroth eq 'E') {
         $current_content = $values[$number];   $current_content = $values[$number];
     }      }
     return $current_content;      return $current_content;
 }  }

Removed from v.1.10  
changed lines
  Added in v.1.17


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