--- loncom/xml/londefdef.pm 2002/04/26 18:18:37 1.54 +++ loncom/xml/londefdef.pm 2002/05/16 00:56:46 1.61 @@ -2,7 +2,7 @@ # The LearningOnline Network with CAPA # Tags Default Definition Module # -# $Id: londefdef.pm,v 1.54 2002/04/26 18:18:37 sakharuk Exp $ +# $Id: londefdef.pm,v 1.61 2002/05/16 00:56:46 albertel Exp $ # # # Copyright Michigan State University Board of Trustees @@ -48,11 +48,11 @@ package Apache::londefdef; use Apache::lonnet; use strict; use Apache::lonxml; - +use Apache::File(); BEGIN { - &Apache::lonxml::register('Apache::londefdef',('m','html','head','map','select','option','input','textarea','form','meta','title','body','center','b','strong','dt','h1','h2','h3','h4','h5','h6','cite','i','address','dd','dl','dir','ol','ul','menu','dfn','kbd','tt','code','em','q','p','br','big','small','basefont','font','s','sub','strike','sup','hr','a','li','u','output','param','applet','img','embed','allow','frameset','pre','insert','externallink','table','tr','td')); + &Apache::lonxml::register('Apache::londefdef',('m','html','head','map','select','option','input','textarea','form','meta','title','body','center','b','strong','dt','h1','h2','h3','h4','h5','h6','cite','i','address','dd','dl','dir','ol','ul','menu','dfn','kbd','tt','code','em','q','p','br','big','small','basefont','font','s','sub','strike','sup','hr','a','li','u','output','param','applet','img','embed','allow','frameset','pre','insert','externallink','table','tr','th','td')); } @@ -73,6 +73,7 @@ sub start_m { my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; my $currentstring = ''; if ($target eq 'web') { + $Apache::lonxml::prevent_entity_encode++; my $inside = &Apache::lonxml::get_all_text("/m",$$parser[-1]); $inside ='\\documentstyle{article}'.$inside; &Apache::lonxml::debug("M is starting with:$inside:"); @@ -97,6 +98,7 @@ sub end_m { my ($target,$token) = @_; my $currentstring = ''; if ($target eq 'web') { + $Apache::lonxml::prevent_entity_encode--; } elsif ($target eq 'tex') { $currentstring = ""; } elsif ($target eq 'meta') { @@ -337,7 +339,8 @@ sub end_m { delete($token->[2]->{$key}); } } - $token->[2]->{'onLoad'}=$onLoad.&Apache::lonxml::loadevents(); + $token->[2]->{'onLoad'}=&Apache::lonxml::loadevents(). + ';'.$onLoad; my $onUnload=''; foreach my $key (keys(%{$token->[2]})) { if ($key =~ /^onunload$/i) { @@ -345,8 +348,8 @@ sub end_m { delete($token->[2]->{$key}); } } - $token->[2]->{'onUnload'}=$onUnload. - &Apache::lonxml::unloadevents(); + $token->[2]->{'onUnload'}=&Apache::lonxml::unloadevents(). + ';'.$onUnload; $currentstring .= '<'.$token->[1]; foreach (keys %{$token->[2]}) { @@ -920,17 +923,21 @@ EDITBUTTON } #-- tag sub start_font { - my ($target,$token) = @_; + my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; my $currentstring = ''; if ($target eq 'web') { + my $face=&Apache::lonxml::get_param('face',$parstack,$safeeval); + if ($face=~/symbol/i) {$Apache::lonxml::prevent_entity_encode++;} $currentstring = $token->[4]; } return $currentstring; } sub end_font { - my ($target,$token) = @_; + my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; my $currentstring = ''; if ($target eq 'web') { + my $face=&Apache::lonxml::get_param('face',$parstack,$safeeval); + if ($face=~/symbol/i) {$Apache::lonxml::prevent_entity_encode--;} $currentstring = $token->[2]; } return $currentstring; @@ -1377,25 +1384,85 @@ EDITBUTTON } return $currentstring; } +#--