Diff for /loncom/xml/style.pm between versions 1.18 and 1.22

version 1.18, 2003/09/19 17:46:59 version 1.22, 2008/11/24 18:55:01
Line 49  sub styleparser { Line 49  sub styleparser {
     my ($target,$content_style_string)=@_;      my ($target,$content_style_string)=@_;
     my @keys = ();      my @keys = ();
     my @values = ();      my @values = ();
     my @style_array = ();  
     my $current_value;      my $current_value;
     my $allow=0;      my $allow=0;
     my $pstyle = HTML::TokeParser->new(\$content_style_string);      my $pstyle = HTML::TokeParser->new(\$content_style_string);
       $pstyle->xml_mode('1');
     while (my $stoken = $pstyle->get_token) {      while (my $stoken = $pstyle->get_token) {
  if (($stoken->[0] eq 'S') && ($stoken->[1] eq 'definetag')) {   if (($stoken->[0] eq 'S') && ($stoken->[1] eq 'definetag')) {
     push @keys,$stoken->[2]->{'name'};      push @keys,$stoken->[2]->{'name'};
Line 78  sub styleparser { Line 78  sub styleparser {
     $allow=0;      $allow=0;
  } elsif (($target ne 'meta') && ($target ne 'tex') && ($stoken->[0] eq 'E') && ($stoken->[1] eq 'tex')) {   } elsif (($target ne 'meta') && ($target ne 'tex') && ($stoken->[0] eq 'E') && ($stoken->[1] eq 'tex')) {
     $allow=1;      $allow=1;
  } elsif (($stoken->[0] eq 'S') && ($stoken->[1] eq 'target') && ($stoken->[2]->{'name'} ne $target)) {   } elsif (($stoken->[0] eq 'S') && ($stoken->[1] eq 'target') && (not $stoken->[2]->{'name'}=~/(^\s*$target\s*,|,\s*$target\s*,|,\s*$target\s*$|^\s*$target\s*$)/)) {
     $allow=0;      $allow=0;
  } elsif (($stoken->[0] eq 'E') && ($stoken->[1] eq 'target')) {   } elsif (($stoken->[0] eq 'E') && ($stoken->[1] eq 'target')) {
     $allow=1;      $allow=1;
   } elsif (($target ne 'meta') && ($stoken->[0] eq 'S') && ($stoken->[1] eq $target)) {    } elsif (($target ne 'meta') && ($stoken->[0] eq 'S') && ($stoken->[1] eq $target)) {
     $allow=1;      $allow=1;
  } elsif (($target ne 'meta') && ($stoken->[0] eq 'E') && ($stoken->[1] eq $target)) {   } elsif (($target ne 'meta') && ($stoken->[0] eq 'E') && ($stoken->[1] eq $target)) {
  } elsif (($stoken->[0] eq 'S') && ($stoken->[1] eq 'target') && ($stoken->[2]->{'name'} eq $target)) {   } elsif (($stoken->[0] eq 'S') && ($stoken->[1] eq 'target') && ($stoken->[2]->{'name'}=~/(^\s*$target\s*,|,\s*$target\s*,|,\s*$target\s*$|^\s*$target\s*$)/)) {
     $allow=1;      $allow=1;
  } elsif ($allow) {    } elsif ($allow) { 
     if ($stoken->[0] eq 'T') {      if ($stoken->[0] eq 'T') {
Line 113  sub styleparser { Line 113  sub styleparser {
     }      }
  }   }
     }      }
       my %style_for_target;
     for (my $i=0; $i<=$#keys; $i++) {      for (my $i=0; $i<=$#keys; $i++) {
  push @style_array,$keys[$i],$values[$i];    if ($values[$i] !~ /^\s*$/) {
       $style_for_target{$keys[$i]}=$values[$i]; 
    }
     }      }
     my %style_for_target =  @style_array;  
     return %style_for_target;       return %style_for_target; 
 }  }
   
Line 161  sub testvalue { Line 163  sub testvalue {
 1;  1;
   
 __END__  __END__
   
   =pod
   
   =head1 NAME
   
   Apache::style.pm
   
   =head1 SYNOPSIS
   
   Style parsing module
   
   This is part of the LearningOnline Network with CAPA project
   described at http://www.lon-capa.org.
   
   
   =head1 SUBROUTINES
   
   =over
   
   =item styleparser()
   
   =item testkey()
   
   =item testvalue()
   
   =back
   
   =cut
   

Removed from v.1.18  
changed lines
  Added in v.1.22


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