--- loncom/xml/londefdef.pm 2001/02/01 19:10:11 1.20 +++ loncom/xml/londefdef.pm 2001/03/27 17:47:17 1.25 @@ -17,18 +17,16 @@ sub BEGIN { #===================================================================== TAG SUBROUTINES #-- - sub start_output { - my ($target,$token) = @_; - $Apache::lonxml::textredirection = 1; - my $result = ''; - return $result; - } - sub end_output { - my ($target,$token) = @_; - $Apache::lonxml::textredirection = 0; - my $result = ''; - return $result; - } +sub start_output { + my ($target) = @_; + if ($target eq 'meta') { $Apache::lonxml::metamode--; } + return ''; +} +sub end_output { + my ($target) = @_; + if ($target eq 'meta') { $Apache::lonxml::metamode++; } + return ''; +} #-- tag sub start_m { my ($target,$token,$parstack,$parser) = @_; @@ -219,10 +217,16 @@ sub BEGIN { } #-------------------------------------------------------------------------- tag sub start_meta { - my ($target,$token) = @_; + my ($target,$token,$parstack,$parser) = @_; my $currentstring = ''; if ($target eq 'web') { - $currentstring = $token->[4]; + my $args=''; + if ( $#$parstack > -1 ) { $args=$$parstack[$#$parstack]; } + if ($args eq '') { + &Apache::lonxml::get_all_text("/meta",$$parser[$#$parser]); + } else { + $currentstring = $token->[4]; + } } if ($target eq 'meta') { unless ($token->[2]->{'http-equiv'}) { @@ -242,7 +246,7 @@ sub BEGIN { my ($target,$token) = @_; my $currentstring = ''; if ($target eq 'web') { - $currentstring = $token->[2]; +# $currentstring = $token->[2]; } return $currentstring; } @@ -251,7 +255,7 @@ sub BEGIN { my ($target,$token) = @_; my $currentstring = ''; if ($target eq 'web') { - $currentstring = $token->[4]; + $currentstring = $token->[4]; } elsif ($target eq 'tex') { $currentstring = " \\begin{document} "; }