--- loncom/xml/londefdef.pm 2001/03/26 20:36:10 1.23 +++ loncom/xml/londefdef.pm 2001/05/04 16:10:17 1.28 @@ -2,7 +2,7 @@ # Tags Default Definition Module # # last modified 06/26/00 by Alexander Sakharuk -# 11/6,11/30,02/01/01 Gerd Kortemeyer +# 11/6,11/30,02/01/01,5/4 Gerd Kortemeyer package Apache::londefdef; @@ -58,7 +58,7 @@ sub end_output { my ($target,$token) = @_; my $currentstring = ''; if ($target eq 'web') { - $currentstring = $token->[4]; + $currentstring = &Apache::lonxml::xmlbegin(); } return $currentstring; } @@ -66,7 +66,7 @@ sub end_output { my ($target,$token) = @_; my $currentstring = ''; if ($target eq 'web') { - $currentstring = $token->[2]; + $currentstring = &Apache::lonxml::xmlend(); } return $currentstring; } @@ -83,7 +83,7 @@ sub end_output { my ($target,$token) = @_; my $currentstring = ''; if ($target eq 'web') { - $currentstring = $token->[2]; + $currentstring = &Apache::lonxml::registerurl().$token->[2]; } return $currentstring; } @@ -220,8 +220,13 @@ sub end_output { my ($target,$token,$parstack,$parser) = @_; my $currentstring = ''; if ($target eq 'web') { - $currentstring = &Apache::lonxml::get_all_text("/meta",$$parser[$#$parser]); - $currentstring = ''; + 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'}) { @@ -237,21 +242,32 @@ sub end_output { } return $currentstring; } - sub end_meta { - my ($target,$token) = @_; - my $currentstring = ''; - if ($target eq 'web') { -# $currentstring = $token->[2]; - } - return $currentstring; - } + sub end_meta { + my ($target,$token,$parstack,$parser) = @_; + my $currentstring = ''; + if ($target eq 'web') { + my $args=''; + if ( $#$parstack > -1 ) { $args=$$parstack[$#$parstack]; } + if ($args ne '') { + $currentstring = $token->[4]; + } + } + return $currentstring; + } #-------------------------------------------------------------------------- tag sub start_body { my ($target,$token) = @_; my $currentstring = ''; if ($target eq 'web') { -# $currentstring = $token->[4]; - } elsif ($target eq 'tex') { + $token->[2]->{'onLoad'}.=&Apache::lonxml::loadevents(); + $token->[2]->{'onUnload'}.=&Apache::lonxml::unloadevents(); + + $currentstring = '<'.$token->[1]; + map { + $currentstring.=' '.$_.'="'.$token->[2]->{$_}.'"'; + } keys %{$token->[2]}; + $currentstring.='>'; + } elsif ($target eq 'tex') { $currentstring = " \\begin{document} "; } return $currentstring;