version 1.3, 2000/07/18 21:27:10
|
version 1.17, 2001/01/12 20:39:49
|
Line 2
|
Line 2
|
# Tags Default Definition Module |
# Tags Default Definition Module |
# |
# |
# last modified 06/26/00 by Alexander Sakharuk |
# last modified 06/26/00 by Alexander Sakharuk |
|
# 11/6,11/30 Gerd Kortemeyer |
|
|
package Apache::londefdef; |
package Apache::londefdef; |
|
|
Line 9 use strict;
|
Line 10 use strict;
|
use Apache::lonxml; |
use Apache::lonxml; |
|
|
sub BEGIN { |
sub BEGIN { |
&Apache::lonxml::register('Apache::londefdef',('m','html','head','map','applet','select','option','input','textarea','form','meta','title','body','center','b','strong','table','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')); |
|
|
&Apache::lonxml::register('Apache::londefdef',('m','html','head','map','applet','select','option','input','textarea','form','meta','title','body','center','b','strong','table','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','tr','td')); |
|
|
} |
} |
|
|
#===================================================================== TAG SUBROUTINES |
#===================================================================== TAG SUBROUTINES |
#----------------------------------------------------------------------------- <m> tag |
#-- <output> |
|
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; |
|
} |
|
#-- <m> tag |
sub start_m { |
sub start_m { |
my ($target,$token) = @_; |
my ($target,$token,$parstack,$parser) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring = lontexconvert::converted('hi'); |
my $inside = &Apache::lonxml::get_all_text("/m",$$parser[$#$parser]); |
|
$inside ='\\documentstyle{article}'.$inside; |
|
# &Apache::lonxml::debug($inside); |
|
$currentstring = &Apache::lontexconvert::converted(\$inside); |
|
# &Apache::lonxml::debug($currentstring); |
|
|
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring = "\$"; |
$currentstring = ""; |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 28 sub BEGIN {
|
Line 49 sub BEGIN {
|
my ($target,$token) = @_; |
my ($target,$token) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring = "\".'\$') "; |
|
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring = "\$"; |
$currentstring = ""; |
|
} elsif ($target eq 'meta') { |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 194 sub BEGIN {
|
Line 215 sub BEGIN {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring = $token->[4]; |
$currentstring = $token->[4]; |
} |
} |
|
if ($target eq 'meta') { |
|
$currentstring='<title>'; |
|
&start_output(); |
|
} |
return $currentstring; |
return $currentstring; |
} |
} |
sub end_title { |
sub end_title { |
Line 201 sub BEGIN {
|
Line 226 sub BEGIN {
|
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring = $token->[2]; |
$currentstring = $token->[2]; |
|
} |
|
if ($target eq 'meta') { |
|
&end_output(); |
|
$currentstring='</title>'; |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 211 sub BEGIN {
|
Line 240 sub BEGIN {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring = $token->[4]; |
$currentstring = $token->[4]; |
} |
} |
|
if ($target eq 'meta') { |
|
unless ($token->[2]->{'http-equiv'}) { |
|
my $name=$token->[2]->{'name'}; |
|
$name=~tr/A-Z/a-z/; |
|
$name=~s/\s/\_/g; |
|
if ($name) { |
|
$currentstring='<'.$name.'>'. |
|
$token->[2]->{'content'}. |
|
'</'.$name.'>'; |
|
} |
|
} |
|
} |
return $currentstring; |
return $currentstring; |
} |
} |
sub end_meta { |
sub end_meta { |
Line 314 sub BEGIN {
|
Line 355 sub BEGIN {
|
$currentstring .= $token->[4]; |
$currentstring .= $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= "\\chapter{ "; |
$currentstring .= "\\chapter{ "; |
} |
} elsif ($target eq 'meta') { |
|
$currentstring='<subject>'; |
|
&start_output(); |
|
} |
return $currentstring; |
return $currentstring; |
} |
} |
sub end_h1 { |
sub end_h1 { |
Line 324 sub BEGIN {
|
Line 368 sub BEGIN {
|
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= "}"; |
$currentstring .= "}"; |
} |
} elsif ($target eq 'meta') { |
|
&end_output(); |
|
$currentstring='</subject>'; |
|
} |
return $currentstring; |
return $currentstring; |
} |
} |
#---------------------------------------------------------------------------- <h2> tag |
#---------------------------------------------------------------------------- <h2> tag |
Line 586 sub BEGIN {
|
Line 633 sub BEGIN {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[4]; |
$currentstring .= $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring .= "{ \\emph "; |
$currentstring .= "\\emph{"; |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 705 sub BEGIN {
|
Line 752 sub BEGIN {
|
} |
} |
#---------------------------------------------------------------------- <basefont> tag |
#---------------------------------------------------------------------- <basefont> tag |
sub start_basefont { |
sub start_basefont { |
my ($target,$token) = @_; |
my ($target,$token) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring = $token->[4]; |
$currentstring = $token->[4]; |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
|
sub end_basefont { |
|
my ($target,$token) = @_; |
|
my $currentstring = ''; |
|
if ($target eq 'web') { |
|
$currentstring = $token->[4]; |
|
} |
|
return $currentstring; |
|
} |
#-------------------------------------------------------------------------- <font> tag |
#-------------------------------------------------------------------------- <font> tag |
sub start_font { |
sub start_font { |
my ($target,$token) = @_; |
my ($target,$token) = @_; |
Line 824 sub BEGIN {
|
Line 879 sub BEGIN {
|
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
|
sub end_hr { |
|
my ($target,$token) = @_; |
|
my $currentstring = ''; |
|
if ($target eq 'web') { |
|
$currentstring .= $token->[2]; |
|
} elsif ($target eq 'tex') { |
|
} |
|
return $currentstring; |
|
} |
#----------------------------------------------------------------------------- <a> tag |
#----------------------------------------------------------------------------- <a> tag |
sub start_a { |
sub start_a { |
my ($target,$token) = @_; |
my ($target,$token) = @_; |
Line 843 sub BEGIN {
|
Line 907 sub BEGIN {
|
my $tempor_var = $stackref->[$#$stackref]; |
my $tempor_var = $stackref->[$#$stackref]; |
if (index($tempor_var,'name') != -1 ) { |
if (index($tempor_var,'name') != -1 ) { |
$tempor_var =~ s/name=([^,]*),/$1/g; |
$tempor_var =~ s/name=([^,]*),/$1/g; |
$currentstring .= " \\label{$tempor_var}"; |
# $currentstring .= " \\label{$tempor_var}"; |
} elsif (index($tempor_var,'href') != -1 ) { |
} elsif (index($tempor_var,'href') != -1 ) { |
$tempor_var =~ s/href=([^,]*),/$1/g; |
$tempor_var =~ s/href=([^,]*),/$1/g; |
$currentstring .= " \\ref{$tempor_var}"; |
$currentstring .= " \\ref{$tempor_var}"; |
Line 858 sub BEGIN {
|
Line 922 sub BEGIN {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring = $token->[4]; |
$currentstring = $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
my $tempor_var = $stackref->[$#$stackref-1]; |
my $tempor_var = $stackref->[$#$stackref]; |
if (index($tempor_var,'circle') != -1 ) { |
if (index($tempor_var,'circle') != -1 ) { |
$currentstring .= " \\item[o] "; |
$currentstring .= " \\item[o] "; |
} elsif (index($tempor_var,'square') != -1 ) { |
} elsif (index($tempor_var,'square') != -1 ) { |
$currentstring .= " \\item[$\Box$] "; |
$currentstring .= " \\item[$\Box$] "; |
} else { |
} elsif ($tempor_var ne '') { |
|
$_ = $tempor_var; |
|
m/my\s*([^=]*)=/; |
|
$currentstring .= " \\item[$1] "; |
|
} else { |
$currentstring .= " \\item "; |
$currentstring .= " \\item "; |
} |
} |
} |
} |
Line 1048 sub BEGIN {
|
Line 1116 sub BEGIN {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring = $token->[4]; |
$currentstring = $token->[4]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring = " \\begin{tabular} "; |
$currentstring = ""; |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 1058 sub BEGIN {
|
Line 1126 sub BEGIN {
|
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring = $token->[2]; |
$currentstring = $token->[2]; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring = " \\end{tabular}"; |
$currentstring = ""; |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
|
#------------------------------------------------------------------------- <tr> tag |
|
sub start_tr { |
|
my ($target,$token) = @_; |
|
my $currentstring = ''; |
|
if ($target eq 'web') { |
|
$currentstring = $token->[4]; |
|
} elsif ($target eq 'tex') { |
|
$currentstring = ''; |
|
} |
|
return $currentstring; |
|
} |
|
sub end_tr { |
|
my ($target,$token) = @_; |
|
my $currentstring = ''; |
|
if ($target eq 'web') { |
|
$currentstring = $token->[2]; |
|
} elsif ($target eq 'tex') { |
|
$currentstring = ""; |
|
} |
|
return $currentstring; |
|
} |
|
#------------------------------------------------------------------------- <td> tag |
|
sub start_td { |
|
my ($target,$token) = @_; |
|
my $currentstring = ''; |
|
if ($target eq 'web') { |
|
$currentstring = $token->[4]; |
|
} elsif ($target eq 'tex') { |
|
$currentstring = ''; |
|
} |
|
return $currentstring; |
|
} |
|
sub end_td { |
|
my ($target,$token) = @_; |
|
my $currentstring = ''; |
|
if ($target eq 'web') { |
|
$currentstring = $token->[2]; |
|
} elsif ($target eq 'tex') { |
|
$currentstring = ""; |
|
} |
|
return $currentstring; |
|
} |
|
# -------------------------------------------------------------------------- <img> tag |
|
|
|
sub start_img { |
|
my ($target,$token) = @_; |
|
$Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]= |
|
$token->[2]->{'src'}; |
|
my $currentstring = ''; |
|
if ($target eq 'web') { |
|
$currentstring = $token->[4]; |
|
} elsif ($target eq 'tex') { |
|
$currentstring = " \\begin{figure} "; |
|
} |
|
return $currentstring; |
|
} |
|
sub end_img { |
|
my ($target,$token) = @_; |
|
my $currentstring = ''; |
|
if ($target eq 'web') { |
|
$currentstring = $token->[2]; |
|
} elsif ($target eq 'tex') { |
|
$currentstring = " \\end{figure}"; |
|
} |
|
return $currentstring; |
|
} |
|
# ----------------------------------------------------------------------- <applet> tag |
|
|
|
sub start_applet { |
|
my ($target,$token) = @_; |
|
$Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]= |
|
$token->[2]->{'code'}; |
|
$Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]= |
|
$token->[2]->{'archive'}; |
|
my $currentstring = ''; |
|
if ($target eq 'web') { |
|
$currentstring = $token->[4]; |
|
} elsif ($target eq 'tex') { |
|
$currentstring = " \\begin{figure} "; |
|
} |
|
return $currentstring; |
|
} |
|
sub end_applet { |
|
my ($target,$token) = @_; |
|
my $currentstring = ''; |
|
if ($target eq 'web') { |
|
$currentstring = $token->[2]; |
|
} elsif ($target eq 'tex') { |
|
$currentstring = " \\end{figure}"; |
|
} |
|
return $currentstring; |
|
} |
|
|
|
# ------------------------------------------------------------------------ <embed> tag |
|
|
|
sub start_embed { |
|
my ($target,$token) = @_; |
|
$Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]= |
|
$token->[2]->{'src'}; |
|
my $currentstring = ''; |
|
if ($target eq 'web') { |
|
$currentstring = $token->[4]; |
|
} elsif ($target eq 'tex') { |
|
$currentstring = " \\begin{figure} "; |
|
} |
|
return $currentstring; |
|
} |
|
sub end_embed { |
|
my ($target,$token) = @_; |
|
my $currentstring = ''; |
|
if ($target eq 'web') { |
|
$currentstring = $token->[2]; |
|
} elsif ($target eq 'tex') { |
|
$currentstring = " \\end{figure}"; |
|
} |
|
return $currentstring; |
|
} |
|
|
|
# ------------------------------------------------------------------------ <param> tag |
|
|
|
sub start_param { |
|
my ($target,$token) = @_; |
|
if ($token->[2]->{'name'} eq 'cabbase') { |
|
$Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]= |
|
$token->[2]->{'value'}; |
|
} |
|
$Apache::lonxml::extlinks[$Apache::lonxml::extlinks+1]= |
|
$token->[2]->{'src'}; |
|
my $currentstring = ''; |
|
if ($target eq 'web') { |
|
$currentstring = $token->[4]; |
|
} elsif ($target eq 'tex') { |
|
$currentstring = " \\begin{figure} "; |
|
} |
|
return $currentstring; |
|
} |
|
sub end_param { |
|
my ($target,$token) = @_; |
|
my $currentstring = ''; |
|
if ($target eq 'web') { |
|
$currentstring = $token->[2]; |
|
} elsif ($target eq 'tex') { |
|
$currentstring = " \\end{figure}"; |
|
} |
|
return $currentstring; |
|
} |
|
|
|
# ------------------------------------------------------------------------ <allow> tag |
|
|
|
sub start_allow { |
|
my ($target,$token) = @_; |
|
|
|
$Apache::lonxml::extlinks[$Apache::lonxml::extlinks+1]= |
|
$token->[2]->{'src'}; |
|
|
|
return ''; |
|
} |
|
sub end_allow { |
|
return ''; |
|
} |
|
|
|
|
1; |
1; |
__END__ |
__END__ |