version 1.28, 2001/05/04 16:10:17
|
version 1.34, 2001/11/29 19:03:58
|
Line 1
|
Line 1
|
# The LearningOnline Network with CAPA |
# The LearningOnline Network with CAPA |
# Tags Default Definition Module |
# Tags Default Definition Module |
# |
# |
|
# $Id$ |
|
# |
|
# Copyright Michigan State University Board of Trustees |
|
# |
|
# This file is part of the LearningOnline Network with CAPA (LON-CAPA). |
|
# |
|
# LON-CAPA is free software; you can redistribute it and/or modify |
|
# it under the terms of the GNU General Public License as published by |
|
# the Free Software Foundation; either version 2 of the License, or |
|
# (at your option) any later version. |
|
# |
|
# LON-CAPA is distributed in the hope that it will be useful, |
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
# GNU General Public License for more details. |
|
# |
|
# You should have received a copy of the GNU General Public License |
|
# along with LON-CAPA; if not, write to the Free Software |
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
# |
|
# /home/httpd/html/adm/gpl.txt |
|
# |
|
# http://www.lon-capa.org/ |
|
# |
|
# Copyright for TtHfunc and TtMfunc by Ian Hutchinson. |
|
# TtHfunc and TtMfunc (the "Code") may be compiled and linked into |
|
# binary executable programs or libraries distributed by the |
|
# Michigan State University (the "Licensee"), but any binaries so |
|
# distributed are hereby licensed only for use in the context |
|
# of a program or computational system for which the Licensee is the |
|
# primary author or distributor, and which performs substantial |
|
# additional tasks beyond the translation of (La)TeX into HTML. |
|
# The C source of the Code may not be distributed by the Licensee |
|
# to any other parties under any circumstances. |
|
# |
|
# |
# last modified 06/26/00 by Alexander Sakharuk |
# last modified 06/26/00 by Alexander Sakharuk |
# 11/6,11/30,02/01/01,5/4 Gerd Kortemeyer |
# 11/6,11/30,02/01/01,5/4 Gerd Kortemeyer |
|
|
Line 11 use Apache::lonxml;
|
Line 47 use Apache::lonxml;
|
|
|
sub BEGIN { |
sub BEGIN { |
|
|
&Apache::lonxml::register('Apache::londefdef',('m','html','head','map','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','allow')); |
&Apache::lonxml::register('Apache::londefdef',('m','html','head','map','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','allow','frameset')); |
|
|
} |
} |
|
|
Line 28 sub end_output {
|
Line 64 sub end_output {
|
return ''; |
return ''; |
} |
} |
#-- <m> tag |
#-- <m> tag |
sub start_m { |
sub start_m { |
my ($target,$token,$parstack,$parser) = @_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
my $inside = &Apache::lonxml::get_all_text("/m",$$parser[$#$parser]); |
my $inside = &Apache::lonxml::get_all_text("/m",$$parser[-1]); |
$inside ='\\documentstyle{article}'.$inside; |
$inside ='\\documentstyle{article}'.$inside; |
# &Apache::lonxml::debug($inside); |
#&Apache::lonxml::debug("M is starting with:$inside:"); |
$currentstring = &Apache::lontexconvert::converted(\$inside); |
my $eval=&Apache::lonxml::get_param('eval',$parstack,$safeeval); |
# &Apache::lonxml::debug($currentstring); |
if ($eval eq 'on') { |
|
$inside=&Apache::run::evaluate($inside,$safeeval,$$parstack[-1]); |
} elsif ($target eq 'tex') { |
#&Apache::lonxml::debug("M is evaulated to:$inside:"); |
$currentstring = ""; |
} |
} |
$currentstring = &Apache::lontexconvert::converted(\$inside); |
return $currentstring; |
#&Apache::lonxml::debug("M is ends with:$currentstring:"); |
} |
} elsif ($target eq 'tex') { |
sub end_m { |
$currentstring = ""; |
my ($target,$token) = @_; |
} |
my $currentstring = ''; |
return $currentstring; |
if ($target eq 'web') { |
} |
} elsif ($target eq 'tex') { |
sub end_m { |
$currentstring = ""; |
my ($target,$token) = @_; |
} elsif ($target eq 'meta') { |
my $currentstring = ''; |
} |
if ($target eq 'web') { |
return $currentstring; |
} elsif ($target eq 'tex') { |
} |
$currentstring = ""; |
|
} elsif ($target eq 'meta') { |
|
} |
|
return $currentstring; |
|
} |
#-------------------------------------------------------------------------- <html> tag |
#-------------------------------------------------------------------------- <html> tag |
sub start_html { |
sub start_html { |
my ($target,$token) = @_; |
my ($target,$token) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring = &Apache::lonxml::xmlbegin(); |
$currentstring = &Apache::lonxml::xmlbegin(). |
|
&Apache::lonxml::fontsettings(); |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 83 sub end_output {
|
Line 124 sub end_output {
|
my ($target,$token) = @_; |
my ($target,$token) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring = &Apache::lonxml::registerurl().$token->[2]; |
$currentstring = &Apache::lonxml::registerurl(). |
|
$token->[2]; |
} |
} |
return $currentstring; |
return $currentstring; |
} |
} |
Line 217 sub end_output {
|
Line 259 sub end_output {
|
} |
} |
#-------------------------------------------------------------------------- <meta> tag |
#-------------------------------------------------------------------------- <meta> tag |
sub start_meta { |
sub start_meta { |
my ($target,$token,$parstack,$parser) = @_; |
my ($target,$token,$tagstack,$parstack,$parser) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
my $args=''; |
my $args=''; |
Line 243 sub end_output {
|
Line 285 sub end_output {
|
return $currentstring; |
return $currentstring; |
} |
} |
sub end_meta { |
sub end_meta { |
my ($target,$token,$parstack,$parser) = @_; |
my ($target,$token,$tagstack,$parstack,$parser) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
my $args=''; |
my $args=''; |
Line 259 sub end_output {
|
Line 301 sub end_output {
|
my ($target,$token) = @_; |
my ($target,$token) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
$token->[2]->{'onLoad'}.=&Apache::lonxml::loadevents(); |
if (!$Apache::lonxml::registered) { |
$token->[2]->{'onUnload'}.=&Apache::lonxml::unloadevents(); |
$currentstring.='<head>'.&Apache::lonxml::registerurl().'</head>'; |
|
} |
$currentstring = '<'.$token->[1]; |
my $onLoad=''; |
map { |
foreach my $key (keys(%{$token->[2]})) { |
$currentstring.=' '.$_.'="'.$token->[2]->{$_}.'"'; |
if ($key =~ /^onload$/i) { |
} keys %{$token->[2]}; |
$onLoad.=$token->[2]->{$key}.';'; |
$currentstring.='>'; |
delete($token->[2]->{$key}); |
|
} |
|
} |
|
$token->[2]->{'onLoad'}=$onLoad.&Apache::lonxml::loadevents(); |
|
my $onUnload=''; |
|
foreach my $key (keys(%{$token->[2]})) { |
|
if ($key =~ /^onunload$/i) { |
|
$onUnload.=$token->[2]->{$key}.';'; |
|
delete($token->[2]->{$key}); |
|
} |
|
} |
|
$token->[2]->{'onUnload'}=$onUnload. |
|
&Apache::lonxml::unloadevents(); |
|
|
|
$currentstring .= '<'.$token->[1]; |
|
map { |
|
$currentstring.=' '.$_.'="'.$token->[2]->{$_}.'"'; |
|
} keys %{$token->[2]}; |
|
$currentstring.='>'; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$currentstring = " \\begin{document} "; |
$currentstring = " \\begin{document} "; |
} |
} |
Line 956 sub end_output {
|
Line 1016 sub end_output {
|
return $currentstring; |
return $currentstring; |
} |
} |
sub end_a { |
sub end_a { |
my ($target,$token,$stackref) = @_; |
my ($target,$token,$tagstack,$stackref) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring .= $token->[2]; |
$currentstring .= $token->[2]; |
Line 974 sub end_output {
|
Line 1034 sub end_output {
|
} |
} |
#---------------------------------------------------------------------------- <li> tag |
#---------------------------------------------------------------------------- <li> tag |
sub start_li { |
sub start_li { |
my ($target,$token,$stackref) = @_; |
my ($target,$token,$tagstack,$stackref) = @_; |
my $currentstring = ''; |
my $currentstring = ''; |
if ($target eq 'web') { |
if ($target eq 'web') { |
$currentstring = $token->[4]; |
$currentstring = $token->[4]; |
Line 1348 sub end_output {
|
Line 1408 sub end_output {
|
return ''; |
return ''; |
} |
} |
|
|
|
# ------------------------------------------------------------------------- Frames |
|
sub start_frameset { |
|
my ($target,$token) = @_; |
|
my $currentstring = ''; |
|
if ($target eq 'web') { |
|
if (!$Apache::lonxml::registered) { |
|
$currentstring.='<head>'.&Apache::lonxml::registerurl().'</head>'; |
|
} |
|
$currentstring .= $token->[4]; |
|
} |
|
return $currentstring; |
|
} |
|
sub end_frameset { |
|
my ($target,$token) = @_; |
|
my $currentstring = ''; |
|
if ($target eq 'web') { |
|
$currentstring = $token->[2]; |
|
} |
|
return $currentstring; |
|
} |
1; |
1; |
__END__ |
__END__ |