--- loncom/xml/londefdef.pm 2001/03/23 22:08:05 1.21 +++ loncom/xml/londefdef.pm 2001/03/27 17:47:17 1.25 @@ -19,12 +19,12 @@ sub BEGIN { #-- sub start_output { my ($target) = @_; - if ($target eq 'meta') { $Apache::lonxml::metamode = 0; } + if ($target eq 'meta') { $Apache::lonxml::metamode--; } return ''; } sub end_output { my ($target) = @_; - if ($target eq 'meta') { $Apache::lonxml::metamode = 1; } + if ($target eq 'meta') { $Apache::lonxml::metamode++; } return ''; } #-- tag @@ -217,10 +217,16 @@ sub end_output { } #-------------------------------------------------------------------------- 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'}) { @@ -240,7 +246,7 @@ sub end_output { my ($target,$token) = @_; my $currentstring = ''; if ($target eq 'web') { - $currentstring = $token->[2]; +# $currentstring = $token->[2]; } return $currentstring; } @@ -249,7 +255,7 @@ sub end_output { my ($target,$token) = @_; my $currentstring = ''; if ($target eq 'web') { - $currentstring = $token->[4]; + $currentstring = $token->[4]; } elsif ($target eq 'tex') { $currentstring = " \\begin{document} "; }