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 |
|
|